js Array.prototype.reduce() что значит =>?

180
13 июля 2022, 03:10

Нужно из двумерного массива [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 ?

Answer 1

Если есть тело функции { }, то чтобы вернуть что-то из нее нужно писать 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)

READ ALSO
Сортировка классов html

Сортировка классов html

Есть 2 кнопки (чекбоксы) и 3 картинкиКак написать код так, чтобы при нажатии на 1 кнопку вылезала 1 картинка, при нажатии на 2 кнопку вылазила...

239
Как передать несколько параметров в AJAX функцию?

Как передать несколько параметров в AJAX функцию?

пытаюсь передать два параметра функции, но при нажатии на кнопку выпадает ошибка

221
Отключить возможность ввода букв

Отключить возможность ввода букв

Есть спан с возможностью редактирования, использовать просто инпут не вариант потому что он сразу ломает всю версткуНужно чтобы при нажатии...

221
Не работает свойство textContent

Не работает свойство textContent

Есть такой элемент

212