开发者社区> 问答> 正文

使用Javascript数组计算集合差异的最快或最优雅的方法是什么?

设A和B为两个集合。我正在寻找一种非常快速或优雅的方法来计算它们之间的设置差异(A - B或A \B,取决于您的偏好)。如标题所示,这两组存储和存储为Javascript数组。

笔记:

壁虎特技可以 我更喜欢本机函数(但是如果速度更快,我可以使用轻量级库) 我看过但未测试JS.Set(请参阅上一点) 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 13:18:51 521 0
1 条回答
写回答
取消 提交回答
  • 如果不知道这是否最有效,但可能最短

    A = [1, 2, 3, 4]; B = [1, 3, 4, 7];

    diff = A.filter(function(x) { return B.indexOf(x) < 0 })

    console.log(diff); 更新到ES6:

    A = [1, 2, 3, 4]; B = [1, 3, 4, 7];

    diff = A.filter(x => !B.includes(x) );

    console.log(diff);

    2020-02-08 13:19:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载