Что выведет код Junior Современный синтаксис обновлено
toSorted, with и at
Вопрос
Что выведет код? По строке на каждый вывод.
const src = [3, 1, 2];
const sorted = src.toSorted();
const replaced = src.with(-1, 9);
console.log(src.join(','));
console.log(sorted.join(','), replaced.join(','));
console.log(src.at(-1), src[-1]);
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: 3,1,2, 1,2,3 3,1,9, 2 undefined. toSorted и with возвращают новые массивы, исходный остаётся 3,1,2. toSorted() без компаратора сортирует как строки, для однозначных чисел результат 1,2,3. with(-1, 9) заменяет последний элемент в копии: 3,1,9. at(-1) понимает отрицательный…
Что выведет
3,1,2
1,2,3 3,1,9
2 undefined
Разбор
toSorted и with возвращают новые массивы, исходный остаётся 3,1,2. toSorted() без компаратора сортирует как строки, для однозначных чисел результат 1,2,3. with(-1, 9) заменяет последний элемент в копии: 3,1,9. at(-1) понимает отрицательный индекс и даёт последний элемент 2, а src[-1] это чтение свойства с ключом '-1', которого нет: undefined.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Object.groupBy и объект без прототипа
Следующий вопрос
Логическое присваивание и ленивое вычисление