Почему этот код не работает с методом push, но работает через concat и [...var, var] (хотя я не совсем понимаю что в этих скобках происходит, просто видел, что так делают)?
let arr = [1, 2, 3, 4, 5]
let xarr = arr.reduce((acc, item) => {
if (item > 2) {
return acc.push(item); // Если поменять на [...acc, item] или вместо push написать concat —заработает.
}
return acc
}, []);
console.log(xarr);
Можно ли заставить его работать с push? И вообще, мне важно понять почему оно так не работает... Concat ведь тоже добавляет элементы новые в конец.