Я пытаюсь выяснить, почему мой вызов .prototype.filter дает мне TypeError: curr.filter is not a function
.
const intersection = (arrays) => {
return arrays.reduce((acc, curr) => {
return curr.filter(el => acc.includes(el));
});
};
console.log(intersection([5, 10, 15, 20], [15, 88, 1, 5, 7], [1, 10, 15, 5, 20]));
Насколько я понимаю, я объявляю функцию const intersection
, которая принимает arrays
, а затем возвращает результат вызова arrays.reduce
, который "уменьшает" результаты фильтрации текущего значения и создания новый массив, который включает в себя все экземпляры аккумулятора acc
, включая текущее значение curr
.
Поскольку фильтр создает новый массив во время выполнения, я подумал, что это будет работать как есть, но пока нет. Что я не вижу?