intersect.js 506 B

12345678910111213141516171819
  1. var contain = require('./contain');
  2. var toArr = require('./toArr');
  3. exports = function(arr) {
  4. var ret = [];
  5. var args = toArr(arguments);
  6. var argsLen = args.length;
  7. for (var i = 0, len = arr.length; i < len; i++) {
  8. var item = arr[i];
  9. if (contain(ret, item)) continue;
  10. var j = 1;
  11. for (; j < argsLen; j++) {
  12. if (!contain(args[j], item)) break;
  13. }
  14. if (j === argsLen) ret.push(item);
  15. }
  16. return ret;
  17. };
  18. module.exports = exports;