在 JavaScript 中去除重复数据常见的方法有以下几种:
一、使用 Set 对象
Set 是 ES6 引入的一种新的数据结构,它类似于数组,但是成员的值都是唯一的。
示例代码:
const array = [1, 2, 2, 3, 3, 4];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // [1, 2, 3, 4]
优势:
应用场景:
二、使用 filter 方法结合 indexOf
示例代码:
const array = [1, 2, 2, 3, 3, 4];
const uniqueArray = array.filter((item, index) => array.indexOf(item) === index);
console.log(uniqueArray); // [1, 2, 3, 4]
优势:
应用场景:
三、使用对象属性
通过将数组元素作为对象的属性名来实现去重。
示例代码:
const array = [1, 2, 2, 3, 3, 4];
const obj = {};
const uniqueArray = [];
for (let i = 0; i < array.length; i++) {
if (!obj[array[i]]) {
obj[array[i]] = true;
uniqueArray.push(array[i]);
}
}
console.log(uniqueArray); // [1, 2, 3, 4]
优势:
应用场景:
可能出现的问题及原因:
解决方法:
示例代码:
const array = [{id: 1}, {id: 2}, {id: 1}];
const uniqueArray = array.filter((item, index, self) =>
index === self.findIndex((t) => t.id === item.id)
);
console.log(uniqueArray); // [{id: 1}, {id: 2}]
领取专属 10元无门槛券
手把手带您无忧上云