zent
Version:
一套前端设计语言和基于React的实现
23 lines (22 loc) • 563 B
JavaScript
export default function uniq(array, iteratee) {
var exists = new Set();
var ret = [];
for (var i = 0; i < array.length; i++) {
var rawValue = array[i];
var val = void 0;
if (typeof iteratee === 'function') {
val = iteratee(rawValue);
}
else if (iteratee === undefined) {
val = rawValue;
}
else {
val = rawValue[iteratee];
}
if (!exists.has(val)) {
ret.push(rawValue);
exists.add(val);
}
}
return ret;
}