0

How can I get common elements in 3 arrays?
For example, I have 3 arrays

arr1 = [10,20,30,40]    
arr2 = [20,30,50,60]   
arr3 = [70,40,30,20]

Result should be [20,30]

James A Mohler
  • 11,060
  • 15
  • 46
  • 72

2 Answers2

3

You can use reduce() with filter() and includes() method as

Refer more about array function at

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

var arr1 = [10,20,30,40];    
var arr2 = [20,30,50,60];  
var arr3 = [70,40,30,20];
var data = [arr1, arr2, arr3];
var result = data.reduce((a, b) => a.filter(c => b.includes(c)));

console.log(result);
Hien Nguyen
  • 24,551
  • 7
  • 52
  • 62
0

Basically its A ∩ B ∩ C which is equal to (A ∩ B) ∩ C You can use basic ES6 filter

arr1 = [10,20,30,40]    
arr2 = [20,30,50,60]   
arr3 = [70,40,30,20]

intersactionArr1Arr2 = arr1.filter(x => arr2.includes(x))
intersactionArr1Arr2Arr3 = intersactionArr1Arr2.filter(x => arr3.includes(x))
// Which results [20, 30]