@R0_none
ни ноты без банкноты

Как правильно удалять элементы массива?

Есть массив с неизвестным количеством элементов. На каждой итерации удаляем один из элементов и выводим на экран этот массив без одного элемента.

const numbers = [1, 2, 10, 4];
for (let i = 0; i < numbers.length; i++) {
  const r0 = numbers;
  r0.splice(numbers[i], 1);
  alert (r0);
}

Я ожидал что этот код выведет

[2, 10, 4]
[1, 10, 4]
[1, 2, 4]
[1, 2, 10]

А получаю четыре раза [1,10,4].
https://plnkr.co/edit/Vvk82CZc0aj3Y2am?open=lib%2F...

Почему так и как делать правильно?
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
john36allTa
@john36allTa
alien glow of a dirty mind
const numbers = [1, 2, 10, 4];
for (let i = 0; i < numbers.length; i++) {
// const r0 = numbers; -- не копирует массив, r0 является ссылкой на numbers. Скопировать можно таким образом:
	const r0 = [...numbers];
// а тут нужно индекс указывать а не значение
	r0.splice(i, 1);
	console.log(r0);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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