为了账号安全,请及时绑定邮箱和手机立即绑定

item => !arr1.includes(item) || !arr2.includes

item => !arr1.includes(item) || !arr2.includes

杨魅力 2018-10-19 14:11:07
最近做的一道题,题目是求两个数组的差异,并返回新数组。我看到其中一个非常简练的答案是这样的: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)我完全看不懂,没见过这是什么语法,求大神指点,谢谢!
查看完整描述

1 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

涉及3个点:

  1. 箭头函数

  2. 短路求值

  3. includes

item => !arr1.includes(item) || !arr2.includes(item)

可以做如下翻译:

function (item) {    if (!arr1.includes(item)) {        return true;
    }    
    if (!arr2.includes(item)) {        return true;
    }    
    return false;
}


查看完整回答
反对 回复 2018-11-16
  • 1 回答
  • 0 关注
  • 739 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信