【发布时间】:2020-04-27 15:58:45
【问题描述】:
问题
比较两个数组并返回一个新数组,其中包含仅在两个给定数组之一中找到的任何项目,但不能同时在两个给定数组中找到。也就是说,返回两个数组的对称差。
注意 您可以按任意顺序返回数组及其元素。
专业开发者解答
function diffArray(arr1, arr2) {
return [...diff(arr1, arr2), ...diff(arr2, arr1)];
function diff(a, b) {
return a.filter(item => b.indexOf(item) === -1);
}
}
我的问题
我不明白这段代码是如何运作的。特别是我从未见过像这样使用扩展运算符。请您解释一下这是如何工作的?
【问题讨论】:
-
它只是将两个数组连接在一起
-
使用扩展语法但不使用
includes或Set的专业开发人员? .oO
标签: javascript algorithm ecmascript-6