数组去重的三种方法:
1、 利用es6中 set类型实现数组去重。
let arr = [1,2,1,2,3,1,4,'1','2','1','3'];
console.log([...new Set(arr)]); // [1, 2, 3, 4, "1", "2", "3"]
2、 新建一个空数组,然后循环之前的数组,判断每一项是否新数组里面,不存在的话push到新数组里面。
let arr = [1,2,1,2,3,1,4,'1','2','1','3'];
let newArr = [];
arr.forEach(item => {
if (newArr.indexOf(item) === -1) {
newArr.push(item);
}
});
console.log(newArr); // [1, 2, 3, 4, "1", "2", "3"]
3、 利用对象的key值不能重复的特性来实现。(要注意对象的key数据类型,数值型都会自动转为字符串类型)
let arr = [1,2,1,2,3,1,4,'1','2','1','3'];
let obj = {};
let newArr = [];
arr.forEach(item => {
if (!obj[item]) {
obj[item] = 1;
newArr.push(item);
}
});
console.log(newArr); // [1, 2, 3, 4]
网友评论