js中数组去重的方法

原创
ithorizon 8个月前 (09-04) 阅读数 104 #Javascript

JS中数组去重的方法

JS中数组去重的方法

在JavaScript中,数组去重是一个常见的需求。本文将介绍几种常见的数组去重方法。

1. 利用Set对象

ES6中的Set对象是一种新的数据结构,可以存储任何类型的唯一值。利用这个特性,可以很容易地实现数组去重。

function uniqueArray(array) {

return [...new Set(array)];

}

const array = [1, 2, 2, 3, 4, 4, 5];

console.log(uniqueArray(array)); // 输出:[1, 2, 3, 4, 5]

2. 利用filter方法

通过数组的filter方法,可以遍历数组,并返回一个新数组,其中包含符合条件的元素。

function uniqueArray(array) {

return array.filter((item, index) => {

return array.indexOf(item) === index;

});

}

const array = [1, 2, 2, 3, 4, 4, 5];

console.log(uniqueArray(array)); // 输出:[1, 2, 3, 4, 5]

3. 利用reduce方法

reduce方法可以对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其于是汇总为单个返回值。

function uniqueArray(array) {

return array.reduce((unique, item) => {

return unique.includes(item) ? unique : [...unique, item];

}, []);

}

const array = [1, 2, 2, 3, 4, 4, 5];

console.log(uniqueArray(array)); // 输出:[1, 2, 3, 4, 5]

4. 利用对象属性

利用对象的属性,可以存储数组中每个元素的唯一标识。这种方法在处理大数据集时高效较高。

function uniqueArray(array) {

const uniqueObj = {};

const uniqueArray = [];

for (let i = 0; i < array.length; i++) {

if (!uniqueObj[array[i]]) {

uniqueObj[array[i]] = true;

uniqueArray.push(array[i]);

}

}

return uniqueArray;

}

const array = [1, 2, 2, 3, 4, 4, 5];

console.log(uniqueArray(array)); // 输出:[1, 2, 3, 4, 5]

总结

本文介绍了四种常见的数组去重方法,包括利用Set对象、filter方法、reduce方法和对象属性。在实际开发中,可以基于需求和数据规模选择合适的方法。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: Javascript


热门