在jquery中删除两个数组的公共元素

问题描述 投票:4回答:4

我想在jquery中删除两个数组的公共元素。我有两个数组:

A = [0,1,2,3]
B = [2,3]

结果应该是[0, 1]

请帮忙

javascript jquery client
4个回答
7
投票

您可以通过检查数组B中的元素位置来过滤数组A.

C = A.filter(function(val) {
 return B.indexOf(val) == -1;
});

Demo


2
投票

ES6版Milind Anantwar的回答。可能需要巴贝尔。

const A = [1, 2, 3, 4];
const B = [2, 4];
const C = A.filter(a => !B.includes(a));
console.log(C) // returns [1, 3]

1
投票

查看图书馆underscore.js

假设你有两个数组,

var a = [0,1,2,3];
var b = [2, 3];

首先找到工会。

var all = _.union(a, b);

然后找到十字路口。

var common = _.intersection(a, b);

最后的答案应该是联盟和交叉点之间的区别。

var answer = _.difference(all, common)

1
投票

使用ES6中的Set类型。然后使用spread运算符从Set构建一个数组。 Set类型只能包含唯一项。

const A = [1, 2, 3, 4];
const B = [2, 4];
const C = [...new Set(A,B)];

console.log(C);



(4) [1, 2, 3, 4]
© www.soinside.com 2019 - 2024. All rights reserved.