ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
20 lines (16 loc) • 609 B
JavaScript
;
var eq = require('./eq.js');
var createIteratee = require('./internals/createIteratee.js');
var isArray = require('./isArray.js');
function uniq(array, iteratee, strickCheck) {
if (strickCheck === void 0) { strickCheck = false; }
if (!isArray(array)) {
return [];
}
var internalIteratee = createIteratee(iteratee);
return array.filter(function (value, index, arr) {
var current = internalIteratee(value);
return arr.findIndex(function (item) { return eq(internalIteratee(item), current, strickCheck); }) === index;
});
}
module.exports = uniq;