Array.prototype.unique5 = function() {
var res = [], hash = {};
for(var i=0, elem; (elem = this[i]) != null; i++) {
if (!hash[elem])
{
res.push(elem);
hash[elem] = true;
}
}
return res;
var res = [], hash = {};
for(var i=0, elem; (elem = this[i]) != null; i++) {
if (!hash[elem])
{
res.push(elem);
hash[elem] = true;
}
}
return res;
}
具体过程:
将数组中的对应的值 赋给 对象的属性
即 var value=arr[i]; obj[value] = 1;
随后 在将数组push 进targetList 前 判断obj中是否存在这个属性