数组去重更新啦!!!!
方法一:
var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];
Array.from(new Set(arr))
结果: [1, 2, 3, 4, 5, 6, 7, 8, 0, 56]

方法二:
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
参数说明

var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];
var arr2 = arr.filter((x, index,self)=>self.indexOf(x)===index)
console.log(arr2);

数组去重:
// 方法一:
// 利用对象的属性不能相同的特点进行去重
//如果能查找到,证明数组元素重复了,如果没有,添加进去
var obj = {};
var result = [];
var arr = [1, 2, 3, 3, 4, 4, 5, 5, 6, 1, 9, 3, 25, 4];
console.log(arr.length);
function aa(data) {
for (var i = 0; i < data.length; i++) {
if (!obj[arr[i]]) {
obj[arr[i]] = 1;
result.push(arr[i]);
}
}
console.log(result.length + '方法一');
console.log(result);
}
aa(arr);
// 方法二:
// 双层循环,外层循环元素,内层循环时比较值
// 值相同时,则删去这个值
// 删除元素之后,需要将数组的长度也减1
var arr2 = [1, 2, 3, 3, 4, 4, 5, 5, 6, 1, 9, 3, 25, 4];
function arrData(data1) {
for (var i = 0; i < data1.length; i++) {
for (var j = i + 1; j < data1.length; j++) {
if (data1[i] == data1[j]) {
data1.splice(j, 1);
j--;
}
}
}
console.log(data1.length + '方法二');
console.log(data1);
}
arrData(arr2);
网友评论