Blame view

node_modules/es5-ext/array/#/intersection.js 552 Bytes
f7563de62   Palak Handa   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  'use strict';
  
  var value    = require('../../object/valid-value')
    , contains = require('./contains')
    , byLength = require('./_compare-by-length')
  
    , filter = Array.prototype.filter, push = Array.prototype.push
    , slice = Array.prototype.slice;
  
  module.exports = function (/*…list*/) {
  	var lists;
  	if (!arguments.length) slice.call(this);
  	push.apply(lists = [this], arguments);
  	lists.forEach(value);
  	lists.sort(byLength);
  	return lists.reduce(function (a, b) {
  		return filter.call(a, function (x) { return contains.call(b, x); });
  	});
  };