В js нет ассоциативных массивов. Их заменяют объекты. Удалить свойство объекта - оператор delete
В js есть просто массивы. Применение delete к элементу массива удалит его, но не изменит свойство length массива.
А размер обычного массива равен свойству length, при его выводе недостающие элементы будут присутствовать с пустым значением.
ar=[];
ar.length=5;
console.log(ar); // [ , , , , ]
console.log("0" in ar); // false
splice следит за тем чтобы длина массива была актуальной его содержимому и соблюдает порядок индексов.