我需要构造一个函数交集,该交集比较输入数组,并返回一个包含所有输入中的元素的新数组。
如果每个数组中的数字仅重复一次,则以下解决方案有效,否则将中断。另外,我不知道如何简化并且不使用凌乱的循环:
function intersection(arrayOfArrays) {
let joinedArray = [];
let reducedArray = [];
for (let iOuter in arrayOfArrays) {
for (let iInner in arrayOfArrays[iOuter]) {
joinedArray.push(arrayOfArrays[iOuter][iInner]);
}
return joinedArray;
}
for (let i in joinedArray.sort()) {
if (joinedArray[i] === joinedArray[ i - (arrayOfArrays.length - 1)]) {
reducedArray.push(joinedArray[i]);
}
}
return reducedArray;
}
最佳答案
尝试这个:-