ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
25 lines (21 loc) • 768 B
JavaScript
;
var eq = require('./eq.js');
var identity = require('./identity.js');
var createIteratee = require('./internals/createIteratee.js');
var isArray = require('./isArray.js');
function difference(array, values, iteratee, strictCheck) {
if (iteratee === void 0) { iteratee = identity; }
if (strictCheck === void 0) { strictCheck = false; }
if (!isArray(array)) {
return [];
}
if (!isArray(values)) {
return array;
}
var internalIteratee = createIteratee(iteratee);
return array.filter(function (item) {
var current = internalIteratee(item);
return values.findIndex(function (value) { return eq(internalIteratee(value), current, strictCheck); }) === -1;
});
}
module.exports = difference;