📅  最后修改于: 2023-12-03 15:07:16.402000             🧑  作者: Mango
在开发过程中,我们经常需要对数组进行去重操作,以保证数据的准确性。下面介绍几种常见的JavaScript去重方法。
const arr = [1, 1, 2, 3, 3, 4, 5, 5];
const newArr = [...new Set(arr)];
console.log(newArr); // [1, 2, 3, 4, 5]
该方法首先使用Set对象去重,然后使用数组扩展运算符将去重后的数据转化为数组。
const arr = [1, 1, 2, 3, 3, 4, 5, 5];
const newArr = [];
for(let i=0; i<arr.length; i++) {
if(newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
console.log(newArr); // [1, 2, 3, 4, 5]
该方法使用数组的indexOf方法查找数组中是否包含当前项,如果不包含,则将该项添加到新数组中。
const arr = [1, 1, 2, 3, 3, 4, 5, 5];
const newArr = [];
for(let i=0; i<arr.length; i++) {
if(!newArr.includes(arr[i])) {
newArr.push(arr[i]);
}
}
console.log(newArr); // [1, 2, 3, 4, 5]
该方法使用数组的includes方法判断数组中是否包含当前项,如果不包含,则将该项添加到新数组中。
const arr = [1, 1, 2, 3, 3, 4, 5, 5];
const newArr = arr.filter((item, index) => arr.indexOf(item) === index);
console.log(newArr); // [1, 2, 3, 4, 5]
该方法使用数组的filter方法过滤出满足条件的项,其中利用indexOf方法判断当前项是否为第一次出现。
综上所述,以上四种方法均可以实现数组去重,开发者可以根据自身需求选择其中一种方法进行使用。