js 差集问题

例如我们当前有a、b两个数组,想要知道两个数组当前的差异,就需要知道这两个数组的差集。

谁与谁的差集,可以理解为,我有,但是你没有的。

比如a=[1,2,3]

  b=[2,4,6]

这时候a与b的差集就为[1,3],b与a的差集为[4,6]。

下面我们可以通过一个简单的js来获取差集

//求差
        function difference(a, b) {
            if (a.length == 0) return a;
            var diff = [];
            var str = b.join("""");
            a.forEach(x => {
                if (str.indexOf(x) == -1) {
                    diff.push(x);
                }
            });
            return diff;
        }

这个时候如果再求a与b的差集,就可以用

var c= difference(a, b);

此时的c就等于[1,3]。求b与a的差集同理

posted @ 2022-05-02 11:20  潇潇mini  阅读(358)  评论(0编辑  收藏  举报