UNPKG

ut2

Version:

一个现代 JavaScript 实用工具库。[点击查看在线文档]。

25 lines (21 loc) 768 B
'use strict'; 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;