http://www.csie.ntnu.edu.tw/~u91029/index.html
function dedup(arr) {
var hashTable = {};
return arr.filter(function (el) {
var key = JSON.stringify(el);
var match = Boolean(hashTable[key]);
return (match ? false : hashTable[key] = true);
});
}
var deduped = dedup([
{ a: 1 },
{ a: 1 },
[ 1, 2 ],
[ 1, 2 ]
]);
console.log(deduped); // [ {a: 1}, [1, 2] ]
EXT2:
var indexOf = [].indexOf ?
function indexOf(arr, item){
return arr.indexOf(item);
}:
function indexOf(arr, item){
for(var i = 0; i < arr.length; i++){
if(arr[i] === item){
retrun i;
}
}
return -1;
}
function distinct(arr){
var self = arr;
list = self.concat().sort();
list.sort(function(a, b){
if(a === b){
var ind = self.indexOf(arr, a);
self.splice(ind, 1);
}
});
return self;
}
沒有留言:
張貼留言