Почему при удалении сохраняются элементы Array?
Сегодня я наткнулся на вопрос здесь о переполнении стека -Как удалить объекты из ассоциативного массива JavaScript?, Что меня поразило, так это то, что принятый ответ вводил в заблуждение и голосовал против, поэтому я подчеркнул возможную ловушку.
Однако, составляя корректирующий ответ, я понял, что понятия не имею,Почему это имеет смысл дляdelete
сохранить элементыназначать undefined
вместо удаления.
var elements = new Array()
elements.push(NaN)
elements.push(NaN)
elements.push(NaN)
delete elements[1]
console.log("number of elements: ", elements.length) // returns 3
Есть ли за этим обоснование?