這一篇文章,我們講解一下陣列去重。
1.最簡單粗暴地方式,兩重for迴圈
let arr = [9, 5, 6, 5, '1', '1', true, 5, true];
for (var i = 0; i < arr.length; i++)
}}console.log(arr); // [9, 5, 6, "1", true, undefined, null, nan, nan, , ]
// 兩個nan, 因為nan!=nan
2.indexof
let a = ;
for (var i = 0; i < arr.length; i++)
}console.log(a); // [9, 5, 6, "1", true, undefined, null, nan, nan, , ]
// 兩個nan, 因為nan!=nan
3.includes
for (var i = 0; i < arr.length; i++)
}console.log(a); // [9, 5, 6, "1", true, undefined, null, nan, , ]
4.set
let a = [...(new set(arr))];
console.log(a); // [9, 5, 6, "1", true, undefined, null, nan, , ]
5.filter
let a = arr.filter(function(value, index))
console.log(a);// [9, 5, 6, "1", true, undefined, null, , ]
arr.filter(function(value))
console.log(a);// [9, 5, 6, "1", true, undefined, null, nan, nan, , ]
6.sort
arr = arr.sort(); // 排序,如果相同就會挨著
a.push(arr[0]); // 先放陣列第乙個元素
for (var i = 1; i < arr.length; i++)
}
7.reduce
arr = arr.sort();
arr.reduce(function(preval, nowval)
return nowval;
}, a)
arr.reduce(function(preval, nowval), a)
console.log(a); //["1", 5, 6, 9, nan, nan, , , null, true, undefined]
8.hasownproperty
let obj = {};
for (var i = 0; i < arr.length; i++)
}console.log(object.values(obj)); //[9, 5, 6, "1", true, undefined, null, nan, ] 無法判斷物件
9.物件陣列去重方法
我想說一下foreach與map
arr.foreach( function(element, index) );
arr.map(function(element, index));
不同點
let arr = [9,3,6,3,6,3];
arr = arr.foreach( function(element, index) );
console.log(arr); // undefined
arr = arr.map(function(element, index));
console.log(arr); //[10, 4, 7, 4, 7, 4]
let arr = [9,3,6,3,6,3];
arr.foreach( function(element, index)
});
foreach模擬實現
array.prototype.bforeach = function (fn)
}arr.bforeach(function(element, index));
map模擬實現
array.prototype.map = function (fn)
return a;
}
好像不是最全的陣列去重方法
這一篇文章,我們講解一下陣列去重。1.最簡單粗暴地方式,兩重for迴圈 let arr 9,5,6,5,1 1 true,5,true for var i 0 i arr.length i console.log arr 9,5,6,1 true,undefined,null,nan,nan,兩個n...
好像不是最全的陣列去重方法
這一篇文章,我們講解一下陣列去重。1.最簡單粗暴地方式,兩重for迴圈 let arr 9,5,6,5,1 1 true,5,true for var i 0 i arr.length i console.log arr 9,5,6,1 true,undefined,null,nan,nan,兩個n...
好像不是最全的陣列去重方法
這一篇文章,我們講解一下陣列去重。1.最簡單粗暴地方式,兩重for迴圈 let arr 9,5,6,5,1 1 true,5,true for var i 0 i arr.length i console.log arr 9,5,6,1 true,undefined,null,nan,nan,兩個n...