javascriptx
Version:
javascript 基础库扩展
31 lines (27 loc) • 756 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
// Array
// 数组交集, 第一个参数可以是要比较的属性名
var intersect = function intersect() {
var _arguments = arguments;
if (arguments.length < 2) {
return arguments[0];
}
var list = arguments[0];
var field = null;
if (typeof arguments[0] == "string") {
field = arguments[0];
list = arguments[1];
}
for (var i = field ? 2 : 1; i < arguments.length; i++) {
list = list.filter(function (a) {
return _arguments[i].some(function (b) {
return field ? a[field] == b[field] : a == b;
});
});
}
return list;
};
exports.default = intersect;