goog.array.removeDuplicates = function (arr, opt_rv, opt_hasFn){
var returnArray = opt_rv || arr;
var defaultHashFn = function (item) {
return goog.isObject(item) ? 'o'+goog.getUid(item) : (typeof item).charAt(0) + item;
}
var hasFn = opt_hasFn || defaultHashFn;
var seen = {},cursorInsert = 0,cursorRead = 0;
while(cursorRead < arr.length){
var current = arr[cursorRead++];
var key = hasFn(current);
if(!Object.prototype.hasOwnProperty.call(seen, key)){
seen[key] = true;
returnArray[cursorInsert++] = current;
}
}
returnArray.length = cursorInsert;
}
函数如上,据说作用是数组去重,求大神讲解,用法或者是原理都行,谢谢啦