1.利用 indexOf
var arr = [1,2,3,4,2,3,4,2,1,5];
var newArr = []; //定义一个新的空数组
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
//如果在新数组中找不到该项值,则推入新数组中
newArr.push(arr[i]);
}
}
console.log(newArr); // [1, 2, 3, 4, 5]
2.Set实现数组去重
ES6 提供了新的数据结构 Set
它类似于数组,但是成员的值都是唯一的,没有重复的值
var arr = [1,2,3,4,2,3,4,2,1,5];
var newArr = [... new Set(arr)];
console.log(newArr); // [1, 2, 3, 4, 5]
3.使用filter过滤函数去重
var arr = [1,2,3,4,2,3,4,2,1,5];
var newArr = arr.filter((item, index, arr) => arr.indexOf(item) === index);
console.log(newArr) // [1, 2, 3, 4, 5]
//indexOf:从头部开始搜索,返回第一次找到的索引