var arr1 = ['27709', '29406', '29407', '29408', '29409', '29410', '29411', '29412', '29414', '29415']
var arr2 = ['27709', '29406', '29409', '29410', '29411', '29412', '29414', '29415']
上面两个数组,arr1里有10个,arr2里有8个,请问如何找出包含arr2中的,多出来的两个值,谢谢大家抽空帮忙解答
var arr1 = ['27709', '29406', '29407', '29408', '29409', '29410', '29411', '29412', '29414', '29415']
var arr2 = ['27709', '29406', '29409', '29410', '29411', '29412', '29414', '29415']
上面两个数组,arr1里有10个,arr2里有8个,请问如何找出包含arr2中的,多出来的两个值,谢谢大家抽空帮忙解答
直接上菜
function subArr(a, b) {
return a.filter(i => b.indexOf(i) == -1)
}
const arr1 = ['27709', '29406', '29407', '29408', '29409', '29410', '29411', '29412', '29414', '29415']
const arr2 = ['27709', '29406', '29409', '29410', '29411', '29412', '29414', '29415']
console.log(subArr(arr1, arr2))
function partition() {
var intersection = arguments[0], complement = [];
for (var i = 1; i < arguments.length; ++i) {
var temporary = [];
for (var j = 0; j < arguments[i].length; ++j) {
var item = arguments[i][j];
if (intersection.indexOf(item) >= 0) {
temporary.push(item);
} else if (complement.indexOf(item) < 0) {
complement.push(item);
}
}
intersection = temporary;
}
for (var i = arguments[0].length; i--;) {
var item = arguments[0][i];
if (intersection.indexOf(item) < 0 && complement.indexOf(item) < 0) {
complement.unshift(item);
}
}
return {
intersection: intersection,
complement: complement,
union: intersection.concat(complement)
};
}
var set = partition(arr1, arr2);
console.log(set.complement); // 补集
console.log(set.intersection); // 交集
console.log(set.union); // 并集
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
是找出差值 不包含的吧