最近做的一道题,题目是求两个数组的差异,并返回新数组。
我看到其中一个非常简练的答案是这样的:
function diffArray(arr1, arr2) {
return arr1
.concat(arr2)
.filter(
item => !arr1.includes(item) || !arr2.includes(item)
)
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
其中的item => !arr1.includes(item) || !arr2.includes(item)
我完全看不懂,没见过这是什么语法,求大神指点,谢谢!
涉及3个点:
箭头函数
短路求值
includes
item => !arr1.includes(item) || !arr2.includes(item)
可以做如下翻译:
这是
ES6
的语法,翻译成ES5
就是其中
includes
也是ES6
新加的相当于所以相当于下面的,去学学ES6的语法吧