























var arr = [false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN];var set = new Set(arr); var uniqArr = Array.from(set)
因为NaN == NaN会返回,false,Es6不用区分这一点
Array.prototype.uniq = function() {
var arr = [];
var flag = true;`
this.forEach(function(item) {
if (item !== item) {
flag && arr.indexOf(item) === -1 ? arr.push(item) : ""
flag = false
} else {
arr.indexOf(item) === -1 ? arr.push(item) : ""
}
})
return arr
}
var testArr = [false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN]
testArr.uniq()

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。