Sha256: b919b2dab358a07c89cf5855e4fb9cc54052f08c8633e583f8e79bf829d2a662
Contents?: true
Size: 958 Bytes
Versions: 33
Compression:
Stored size: 958 Bytes
Contents
/*! * arr-diff <https://github.com/jonschlinkert/arr-diff> * * Copyright (c) 2014 Jon Schlinkert, contributors. * Licensed under the MIT License */ 'use strict'; var flatten = require('arr-flatten'); var slice = [].slice; /** * Return the difference between the first array and * additional arrays. * * ```js * var diff = require('{%= name %}'); * * var a = ['a', 'b', 'c', 'd']; * var b = ['b', 'c']; * * console.log(diff(a, b)) * //=> ['a', 'd'] * ``` * * @param {Array} `a` * @param {Array} `b` * @return {Array} * @api public */ function diff(arr, arrays) { var argsLen = arguments.length; var len = arr.length, i = -1; var res = [], arrays; if (argsLen === 1) { return arr; } if (argsLen > 2) { arrays = flatten(slice.call(arguments, 1)); } while (++i < len) { if (!~arrays.indexOf(arr[i])) { res.push(arr[i]); } } return res; } /** * Expose `diff` */ module.exports = diff;
Version data entries
33 entries across 32 versions & 14 rubygems