code: function intersection(array) {
      var result = [];
      if (!array) {
        return result;
      }
      var value,
          index = -1,
          length = array.length,
          others = slice.call(arguments, 1);
  
      while (++index < length) {
        value = array[index];
        if (indexOf(result, value) < 0 &&
            every(others, function(other) { return indexOf(other, value) > -1; })) {
          result.push(value);
        }
      }
      return result;
    }
docs: Computes the intersection of all the passed-in arrays.
  
  @static
  @memberOf _
  @category Arrays
  @param {Array} [array1, array2, ...] Arrays to process.
  @returns {Array} Returns a new array of unique values, in order, that are
  present in **all** of the arrays.
  @example
  
  _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]);
  // => [1, 2]