2 回答

TA贡献1946条经验 获得超3个赞
您正在尝试将数组与+运算符组合在一起。由于数组不支持+运算符,因此它们被强制转换为字符串。您可以使用数组展开或Array.concat()使用Array.reduce()以下方法组合它们:
const intersection = arr => arr.reduce((a, e) => [...a, ...e], [])
const arr1 = [5, 10, 15, 20];
const arr2 = [15, 88, 1, 5, 7];
const arr3 = [1, 10, 15, 5, 20];
console.log(intersection([arr1, arr2, arr3]));
或者你可以使用Array.flat():
const intersection = arr => arr.flat();
const arr1 = [5, 10, 15, 20];
const arr2 = [15, 88, 1, 5, 7];
const arr3 = [1, 10, 15, 5, 20];
console.log(intersection([arr1, arr2, arr3]));

TA贡献1878条经验 获得超4个赞
不要+用于添加数组。使用concat来代替:
const intersection = arr => arr.reduce((a, e) => a.concat(e), []);
const arr1 = [5, 10, 15, 20];
const arr2 = [15, 88, 1, 5, 7];
const arr3 = [1, 10, 15, 5, 20];
console.log(intersection([arr1, arr2, arr3]));
.as-console-wrapper { max-height: 100% !important; top: auto; }
添加回答
举报