Удалить элементы массива в JavaScript: Array.splice или delete?

JavaScript, Вопросы и ответы
17 февраля 2012

Вопрос

Какая разница между использованием метода «delete» для элемента массива и использованием метода «Array.splice»? Например:

myArray = ['a', 'b', 'c', 'd'];
delete myArray[1];
//  Или же
myArray.splice (1, 1);

Зачем вообще нужен метод «Array.splice», если можно удалять элементы массива так, как обычные объекты?


Ответ №1

Метод «delete» не удалит элемент из массива, он просто задаст его значение в «undefined».

myArray = ['a', 'b', 'c', 'd'];
// ["a", "b", "c", "d"]
delete myArray[0];
// myArray: [undefined, "b", "c", "d"]
myArray.splice(0, 2);
// myArray: ["c", "d"]

Нет комментариев

Добавить комментарий


(обязательно)