写3种js数组去重方案
1.使用Set Set对象是一种新的集合类型,它允许存储任何类型的唯一值。可以使用Set对象来去除数组中的重复项。
let arr = [1,2,2,3,4,4,5];
let uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1,2,3,4,5]
2.使用indexOf 可以遍历原始数组,将每个元素与新数组中的每个元素进行比较,如果不存在则将其添加到新数组中。
let arr = [1,2,2,3,4,4,5];
let uniqueArr = [];
for(let i=0; i<arr.length; i++){
if(uniqueArr.indexOf(arr[i]) === -1){
uniqueArr.push(arr[i]);
}
}
console.log(uniqueArr); // [1,2,3,4,5]
3.使用filter 可以使用数组的filter()方法,遍历原始数组,使用indexOf()方法判断新数组中是否已经存在该元素,如果不存在则返回true,最后返回一个新的数组。
let arr = [1,2,2,3,4,4,5];
let uniqueArr = arr.filter((item, index) => {
return arr.indexOf(item) === index;
})
console.log(uniqueArr); // [1,2,3,4,5]
原文地址: http://www.cveoy.top/t/topic/qW1 著作权归作者所有。请勿转载和采集!