Всем привет, вопрос о том, как работает метод map в JS
Не могу понять, почему этот код работает:
const numbers = [1, 4, 9];
const roots = numbers.map(Math.sqrt);
Хотя в моём представлении он должен работать только вот так:
const numbers = [1, 4, 9];
const roots = numbers.map(number => Math.sqrt(number));
Выходит, что метод map каким то образом понимает, что аргументом в Math.sqrt() нужно подставить итерируемый элемент массива?
Ответы (1 шт):
Автор решения: Aleksandr Fetisov
→ Ссылка
В целом да, метод map() принимает функцию обратного вызова, которая будет вызываться для каждого элемента массива. Когда вы передаете Math.sqrt в качестве этой функции, метод map() использует ее для вызова Math.sqrt для каждого элемента в массиве. Поскольку Math.sqrt является функцией, которая ожидает один аргумент (число), каждый элемент в массиве передается в Math.sqrt как единственный аргумент