var arr = ['a', 'b', 'c'];
Чтобы удалить 'b', есть два способа:
1. Метод назначения: удалить ARR [1]
Таким образом, длина массива остается неизменной. использовать
for (index in arr) {document.write ('arr ['+index+'] ='+arr [index]);}Этот метод обхода пропускает в нем неопределенные элементы
* Этот метод будет поддерживаться в IE4.O.
2. Метод сплайсинга объекта массива: arr.splice (1,1);
Таким образом, длина массива изменяется соответственно, но исходный индекс массива также меняется соответственно
Первый 1 в параметре сплайсинга является начальным индексом удаления (рассчитывается из 0), который является вторым элементом массива.
Второй 1 - это количество удаленных элементов, и здесь удаляется только один элемент, то есть «B»;
В настоящее время можно нормально пересекать элементы массива, например, из -за удаленных элементов не сохраняются в массиве.
* Этот метод будет поддерживаться только после IE5.5
Стоит отметить, что при удалении элементов массива метод сплайсинга также может добавлять элементы массива.
Например, arr.splice (1,1, 'd', 'e'), D и E добавляются в ARR ARR
Массив результатов становится Arr: 'a', 'd', 'e', 'c'
JavaScript усекает массив, установив атрибут длины массива - это единственный способ сократить длину массива. не меняется два раза.
/ * Метод: Array.remove (DX) * Функция: Удалить элементы массива. .prototype.remove = function (dx) {if (isnan (dx) || dx> this.length) {return false;} for (var i = 0, n = 0; i <this.length; i ++) {если (это [i]! = this [dx]) {this [n ++] = this [i]}} this.length- = 1} a = ['1', '2', '3', '4', '5']; +A.Length); / * Метод: Array.BaoreMove (DX) * Функция: Удалить элементы массива. Array .prototype.baoremove = function (dx) {if (isnan (dx) || dx> this.length) {return false;} this.splice (dx, 1); , '3', '4', '5']; «Элементы:»+b+»nlength:"+b.length);Мы знаем, что в IE5 или ниже, объект массива JavaScript не обеспечивает удобный способ удаления массива. В версии IE5.5+, хотя есть метод сплайсинга, он не удаляет определенный элемент (или несколько элементов), а только очищает значение определенного элемента (или нескольких элементов), что означает, что элемент все еще существует , длина массива не изменилась.
Фактически, мы можем добавить метод удаления в массив сами (обратите внимание, что это относится к удалению элемента массива из участника массива). Может быть, вы подумаете об использовании петель для переназначения массивов, что, безусловно, в порядке, но это неэффективно.
Ниже мы вводим два метода использования SLICE и CONCAT для настройки удаления массивов.
Конкретный код заключается в следующем, обратите внимание на комментарии внутри.
Array.prototype.del = function (n) {// n представляет какой термин, начиная с 0. // Прототип является прототипом объекта, обратите внимание на метод добавления пользовательских методов в объект здесь. if (n <0) // Если n <0, ничего не сделано. вернуть это; Вот новый массив, состоящий из этого. Slice (0, N)/This.slice (n+1, this.length). Метод срезов: возвращает сегмент массива с двумя параметрами, указывая начальные и окончательные позиции соответственно. */} // Попробуйте этот метод увеличения его теста = новый массив (0,1,2,3,4,5); пункта 4. предупреждение (тест);Таким образом, мы только гибко используем два метода объекта массива для достижения наших требований.