Skip to content Skip to sidebar Skip to footer

Remove Common Elements Of Two Arrays In Jquery

I want to remove common elements of two arrays in jquery. I have two arrays: A = [0,1,2,3] B = [2,3] and result should be [0, 1]. Please help

Solution 1:

You can filter array A by checking its elements position in array B:

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

Demo

Solution 2:

ES6 version of Milind Anantwar's answer. May require Babel.

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

Solution 3:

Use the Set type from ES6. Then the spread operator to build an array from the Set. A Set type can only hold unique items.

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

console.log(C);



(4) [1, 2, 3, 4]

Solution 4:

Checkout the library underscore.js.

Say you have two arrays,

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

First find the union.

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

Then find the intersection.

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

The final answer should be the difference between the union, and the intersection.

var answer = _.difference(all, common)

Post a Comment for "Remove Common Elements Of Two Arrays In Jquery"