1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /*!
- * arr-diff <https://github.com/jonschlinkert/arr-diff>
- *
- * Copyright (c) 2014-2017, Jon Schlinkert.
- * Released under the MIT License.
- */
- 'use strict';
- module.exports = function diff(arr/*, arrays*/) {
- var len = arguments.length;
- var idx = 0;
- while (++idx < len) {
- arr = diffArray(arr, arguments[idx]);
- }
- return arr;
- };
- function diffArray(one, two) {
- if (!Array.isArray(two)) {
- return one.slice();
- }
- var tlen = two.length
- var olen = one.length;
- var idx = -1;
- var arr = [];
- while (++idx < olen) {
- var ele = one[idx];
- var hasEle = false;
- for (var i = 0; i < tlen; i++) {
- var val = two[i];
- if (ele === val) {
- hasEle = true;
- break;
- }
- }
- if (hasEle === false) {
- arr.push(ele);
- }
- }
- return arr;
- }
|