var arr = ['a', 'b', 'c'];
Para eliminar 'B', hay dos formas:
1. Método de Delete: Eliminar ARR [1]
De esta manera, la longitud de la matriz permanece sin cambios. usar
for (índice en arr) {document.write ('arr ['+index+'] ='+arr [index]);}Este método de recorrido omite elementos indefinidos en él
* Este método será compatible en Ie4.o.
2. Método de empalme del objeto de matriz: arr.splice (1,1);
De esta manera, la longitud de la matriz se cambia en consecuencia, pero el índice de matriz original también cambia en consecuencia
El primer 1 en el parámetro de empalme es el índice inicial de la eliminación (calculado a partir de 0), que es el segundo elemento de la matriz.
El segundo 1 es el número de elementos que se eliminan, y solo un elemento se elimina aquí, es decir, 'B';
En este momento, es posible atravesar los elementos de la matriz de manera normal, como para, porque los elementos eliminados no se conservan en la matriz.
* Este método solo será compatible después de IE5.5
Vale la pena mencionar que al eliminar los elementos de matriz, el método de empalme también puede agregar elementos de matriz.
Por ejemplo, arr.splice (1,1, 'd', 'e'), d y e se agregan a la matriz arr
La matriz de resultados se convierte en arr: 'a', 'd', 'e', 'c'
JavaScript truncando una matriz estableciendo el atributo de longitud de una matriz es la única forma de acortar la longitud de una matriz. no cambia dos veces.
/ * * Método: Array.Remove (DX) * Función: Eliminar elementos de matriz. .prototype.remove = function (dx) {if (isnan (dx) || dx> this.length) {return false;} for (var i = 0, n = 0; i <this.length; i ++) {if (this [i]! = this [dx]) {this [n ++] = this [i]}} this.length- = 1} a = ['1', '2', '3', '4', '5']; +A.Length); / * * Método: Array.Baoremove (DX) * Función: Eliminar elementos de matriz. Array .Prototype.Baoremove = function (dx) {if (isnan (dx) || dx> this.length) {return false;} this.splice (dx, 1); '3', '4', '5']; "Elementos:"+b+"nlength:"+b.length);Sabemos que en IE5 o inferior, el objeto de matriz de JavaScript no proporciona una forma de eliminar elementos de matriz. En la versión IE5.5+, aunque hay un método de empalme, no elimina un cierto elemento (o varios elementos), sino que solo borra el valor de un determinado elemento (o varios elementos), lo que significa que el elemento todavía existe , la longitud de la matriz no ha cambiado.
De hecho, podemos agregar un método Eliminar a la matriz nosotros mismos (tenga en cuenta que esto se refiere a eliminar un elemento de la matriz del miembro de la matriz). Tal vez piense en usar bucles para reasignar matrices, lo que ciertamente está bien, pero es ineficiente.
A continuación presentamos dos métodos para usar Slice y Concat para personalizar la eliminación de matrices.
El código específico es el siguiente, preste atención a los comentarios internos.
Array.prototype.del = function (n) {// n representa qué término, a partir de 0. // El prototipo es el prototipo de objeto, preste atención al método de agregar métodos personalizados al objeto aquí. if (n <0) // if n <0, no se hace nada. devolver esto; Aquí hay una nueva matriz compuesta de this. Método de corte: devuelve un segmento de una matriz con dos parámetros, especificando las posiciones de inicio y finalización respectivamente. */} // intentamos este método para aumentarlo tú mismo test = nueva matriz (0,1,2,3,4,5); del artículo 4. alerta (prueba);De esta manera, solo usamos de manera flexible los dos métodos del objeto de matriz para lograr nuestros requisitos.