Найдем пересечение любого количества массивов на ES6

Сейчас мы с вами будем находить пересечение массивов, то есть их общие элементы. При этом у нас будет не два массива, а любое количество! Для решения задачи применим несколько фишек ES6.

Исходники кода

/* function getInt(arr1, arr2) { var result = []; for (var i = 0; i < arr1.length; i++) { if (inArray(arr2, arr1[i])) { result.push(arr1[i]); } } return result; } function inArray(arr, elem) { if (arr.indexOf(elem) === -1) { return false; } else { return true; } } */ function getInt(...arrs) { let result = []; let arr0 = arrs.shift(); for (let elem of arr0) { if(inArrays(arrs, elem)) { result.push(elem); } } return result; } function inArrays(arrs, elem) { for (let arr of arrs) { if (!inArray(arr, elem)) { return false; } } return true; } function inArray(arr, elem) { return arr.find(e => e === elem); } console.log(getInt([1, 2, 3], [2, 3, 4, 5], [2, 3, 4, 6]));

Смотрите также