Нужно из двумерного массива [1, 2, [3, 4]] сделать одномерный var arr1 = [1, 2,3, 4];
arr1.reduce((acc, val) => acc.concat(val), []);// [1, 2, 3, 4]
Так все работает . А так
arr1.reduce(function (acc, val) { acc.concat(val);}, []);
Uncaught TypeError: Cannot read property 'concat' of undefined Почему во втором случае acc = undefined ?
Если есть тело функции { }, то чтобы вернуть что-то из нее нужно писать return.
В случае с arrow function можно опустить return, если тело функции отсутсвует.
Тоесть функция вернет то что написано после =>.
() => true тоже самое что function () { return true })
const arr1 = [1, 2, [3, 4]]
const result = arr1.reduce(function (acc, val) { return acc.concat(val);}, []);
console.log(result)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей