js实现数组去重方式(12种方法)
JavaScript中实现数组去重的方法有很多种,以下是12种常见的方法:
- 使用 Set
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [...new Set(array)];
- 使用 filter 和 indexOf
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.filter((item, index) => array.indexOf(item) === index);
- 使用 reduce
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.reduce((acc, current) => {
if (acc.indexOf(current) === -1) {
acc.push(current);
}
return acc;
}, []);
- 使用 Map 或 Object
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = Array.from(array.reduce((map, item) => map.set(item, item), new Map()).values());
- 使用 sort 和 lastItem 变量
const array = [1, 2, 2, 3, 4, 4, 5];
array.sort();
const uniqueArray = array.filter((item, index, arr) => item !== arr[index - 1]);
- 使用 for 循环和 indexOf
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [];
for (let i = 0; i < array.length; i++) {
if (uniqueArray.indexOf(array[i]) === -1) {
uniqueArray.push(array[i]);
}
}
- 使用 includes 方法
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.filter((item, index, arr) => !arr.includes(item, index + 1));
- 使用 reduce 和 includes
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.reduce((acc, current) => {
if (!acc.includes(current)) {
acc.push(current);
}
return acc;
}, []);
- 使用 filter 和 includes
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.filter((item, index, self) => self.indexOf(item) === index);
- 使用 reduce 和 Object
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.reduce((acc, current) => {
if (!acc[current]) {
acc[current] = true;
acc.result.push(current);
}
return acc;
}, { result: [] }).result;
- 使用 forEach 和 push
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [];
array.forEach(function(item) {
if (uniqueArray.indexOf(item) === -1) {
uniqueArray.push(item);
}
});
- 使用 forEach 和 includes
const array = [1, 2, 2
评论已关闭