要删除数组中除了第一个实例之外的所有重复项,可以使用多种方法。以下是几种常见的方法:
function removeDuplicates(arr) {
const seen = new Set();
return arr.filter(item => {
if (seen.has(item)) {
return false;
} else {
seen.add(item);
return true;
}
});
}
const array = [1, 2, 2, 3, 4, 4, 5];
console.log(removeDuplicates(array)); // 输出: [1, 2, 3, 4, 5]
function removeDuplicates(arr) {
const seen = {};
return arr.filter(item => {
if (seen[item]) {
return false;
} else {
seen[item] = true;
return true;
}
});
}
const array = [1, 2, 2, 3, 4, 4, 5];
console.log(removeDuplicates(array)); // 输出: [1, 2, 3, 4, 5]
function removeDuplicates(arr) {
return arr.reduce((acc, item) => {
if (!acc.includes(item)) {
acc.push(item);
}
return acc;
}, []);
}
const array = [1, 2, 2, 3, 4, 4, 5];
console.log(removeDuplicates(array)); // 输出: [1, 2, 3, 4, 5]
Set
或 filter
方法可以使代码更加简洁易读。Set
在检查元素是否存在时具有较好的性能,因为它内部使用了哈希表。includes
或 indexOf
可能会导致性能下降。在这种情况下,使用 Set
是更好的选择。Set
或 filter
方法。通过上述方法,可以有效地删除数组中除了第一个实例之外的所有重复项。选择哪种方法取决于具体的应用场景和个人偏好。
领取专属 10元无门槛券
手把手带您无忧上云