方式一:普通的数组
var arr1=[1,2,3,4,1,5,3,4]
var arr2 = [];
for (var i = 0; i < arr1.length; i++) {
if (arr2.indexOf(arr1[ i ])==-1) {
arr2.push(arr1[ i ])
}
}
方式二:id相同的时候就去重(用的时候就调用此函数就行)
removeDuplicatedItem( arr ){
for (var i = 0; i < arr.length - 1; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[ i ].id == arr[ j ].id) {
arr.splice(j, 1);//console.log(arr[j]);
j--;
}
}
}
return arr;
},
方式三:ES6的Set
Set 是ES6新加的集合,集合中的值不会重复。 ...操作符 会将可遍历对象,转换为数组.
var arr=[1, 2, 3, 3, 3, '0', '1', '2', '测试', '重复', '重复', NaN, NaN, false, false];
arr=[...new Set(arr)];
console.log(arr); //[1, 2, 3, '0', '1', '2', '测试', '重复', NaN, false]
let a = new Set([1, 2, 3]);
let b = new Set([3, 5, 2]);
let c = new Set([...a, ...b]);
//[1,2,3,5]
注:这三种方式只是我个人喜欢的三种,还有其他很多方式