@asdasdqwe

Как работает этот код?

let nums = [1, 2, 3];

console.log( [...nums].map([].pop, nums) )     // 3, 2, 1
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Второй аргумент в Array.map() — это thisArg для функции.

Тут абстрактный от конкретного массива pop() будет вызываться в контексте начального массива nums — последовательно выдирая из него последний из оставшихся элементов: 3, 2, 1
Массив nums, соответственно, на каждой итерации будет становиться на 1 элемент короче.

Копия исходного массива [...nums] нужна только ради его первоначальной длины, чтобы вызвать дальнейшую магию правильное число раз.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы