1. Borre la matriz
var ary = [1,2,3,4]; ary.splice (0, ary.length); // borrar la matriz console.log (ary); // salida [], vacía la matriz, es decir, se borra
2. Eliminar elementos de matriz
var ary = [1,2,3,4]; ary.splice (0,1); o ary.splice ($. Inarray (2, Ary), 1); donde $ .inArray (2, ary) se usa para encontrar la posición de índice de un elemento en la matriz.
Tres, varias formas de eliminar matrices en JS
var arr = ['a', 'b', 'c'];
Para eliminar 'B', hay dos formas:
1. Eliminar el método: Eliminar ARR [1]
De esta manera, la longitud de la matriz permanece sin cambios. En este momento, ARR [1] queda indefinido, pero también tiene la ventaja de que el índice de la matriz permanece sin cambios. En este momento, debes atravesar los elementos de la matriz para 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 el futuro.
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 son
No conservado 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'
Además, JavaScript trunca las matrices al establecer la propiedad de longitud de la matriz, que es la única forma de acortar la longitud de la matriz.
Si usa el operador Eliminar para eliminar un elemento en la matriz, aunque ese elemento queda indefinido, el atributo de longitud de la matriz no cambia los dos métodos para eliminar elementos, y la longitud de la matriz también cambia.
/ * * Método: Array.Remove (DX) * Función: Elementar elementos de matriz. * Parámetros: DX Eliminar subíndices de elementos. * Return: modifique las matrices en la matriz original* /// a menudo usar es reconstruir matrices a través de traversal.array.prototype.remove = function (dx) {if (isnan (dx) || dx> this.length) {return false;} para (var (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']; alerta ("Elementos:"+a+"nlength:"+A.Length); A.Remove (0); // Eliminar el elemento con alerta de subíndice 0 ("Elementos:"+a+"nlength:"+A.Length);Ejemplo 2,
/ * * Método: Array.Baoremove (DX) * Función: Elementar elementos de matriz. * Parámetros: DX Eliminar subíndices de elementos. * Regreso: Modificar la matriz en la matriz original. */ // También puede usar Splice para implementar. Array.prototype.baoremove = function (dx) {// www.vevb.comif (isnan (dx) || dx> this.length) {return false;} this.splice (dx, 1); } b = ['1', '2', '3', '4', '5']; alerta ("Elementos:"+b+"nlength:"+b.length); B.Baoremove (1); // Eliminar el elemento con alerta de subíndice 1 ("Elementos:"+b+"nlength:"+b.length);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 artículo todavía existe y la longitud de la matriz no ha cambiado.
De hecho, puede agregar un método Eliminar a la matriz usted mismo (tenga en cuenta que esto se refiere a eliminar un elemento de la matriz del miembro de la matriz). Quizás, pensará en usar bucles para reasignar valores a una matriz. Esto ciertamente está bien, pero es muy ineficiente.
El siguiente introduce el método de personalización de la eliminación de matrices utilizando dos métodos de porte del objeto de matriz y concat.
Array.prototype.del = function (n) {// n representa qué término, a partir de 0. // 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; Elsereturn this.slice (0, n) .concat (this.slice (n+1, this.length));/* Concat Método: Devuelve una nueva matriz, que se compone de dos o más matrices. Aquí hay una nueva matriz compuesta de this. En el medio, falta el enésimo elemento. Método de corte: devuelve un segmento de una matriz con dos parámetros, especificando las posiciones de inicio y finalización respectivamente. */} // El método para agregarlo usted mismo test test = new Array (0,1,2,3,4,5); test = test.del (3); // Desde 0, elimine el cuarto elemento. alerta (prueba);El código anterior solo utiliza de manera flexible dos métodos de objeto de matriz, que realizan los requisitos básicos, lo cual es bueno.
El método simple anterior para eliminar los elementos de matriz y la eliminación de matrices (debe leer) en JS es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.