Что выведет код Junior Объекты и массивы обновлено
delete в массиве
Вопрос
Что выведет код? По строке на каждый вывод.
const a = [1, 2, 3];
delete a[1];
console.log(a.length);
console.log(a[1]);
console.log(a.filter(() => true).length);
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: 3, undefined, 2. Почему так delete оставляет дыру, длина не меняется.
Что выведет
3
undefined
2
Разбор
Почему так
delete оставляет дыру, длина не меняется. Для удаления элемента нужен splice или filter. filter дыры пропускает, поэтому длина результата меньше.
Вывод
3
undefined
2
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.