[js]var arr=[0,1,2] delete arr[1] alert(arr.length) //выводит 3 for(eachIndex in arr) alert(eachIndex) //выводит 0 потом 2. А где же третий? [/js] вопрос такой: почему показывает количество элементов 3, а выводит всего 2? Я бы понял любой из этих вариантов, но только не тот который получил 1. если бы сначала вывелось 2 потом 0 и 2 2. если бы сначала вывелось 3 потом 0, undefined и 2
eachIndex пропускает undef, сам элемент присутствует в массиве: var arr=[0,1,2]; delete arr[0]; arr; [undefined, 1, 2]
alexey_baranov slice, splice http://www.w3schools.com/jsref/jsref_slice_array.asp http://www.w3schools.com/jsref/jsref_splice.asp