Las matrices JavaScript permiten la creación de grupos iterables de valores que se pueden manipular añadiendo y eliminando elementos.
acerca de la eliminación de elementos, no hay una matriz simple.entonces, ¿cómo se elimina un elemento de una matriz de JavaScript?
la matriz JavaScript tiene una variedad de formas en las que puede eliminar los valores de la matriz.,
Hay diferentes métodos y técnicas que puede usar para eliminar elementos de matrices JavaScript:
pop — elimina del final de una matriz
shift — elimina del principio de una matriz
splice — elimina de una matriz específica index
filter — le permite eliminar mediante programación elementos de una matriz
También aprenderá algunas otras formas en que puede eliminar elementos de una matriz que con lodash.,
la forma más sencilla de eliminar uno o más elementos del extremo de una matriz de elementos es estableciendo la propiedad length en un valor menor que el Valor Actual.
cualquier elemento cuyo índice sea mayor o igual a la nueva longitud será eliminado.
El «método pop» elimina el último elemento de la matriz, devuelve ese elemento, y las actualizaciones de la propiedad de longitud.,
el «método pop» modifica la matriz en la que se invoca, esto significa que a diferencia de usar delete, el último elemento se elimina por completo y la longitud de la matriz se reduce.
eliminar elementos del principio de una matriz JavaScript
¿Cómo se elimina el primer elemento de una matriz JavaScript?
el «método shift» funciona como el método pop, excepto que elimina el primer elemento de una matriz JavaScript en lugar del último.,
no hay parámetros ya que el método shift solo eliminó el primer elemento array.
cuando se elimina el elemento, los elementos restantes se desplazan hacia abajo.
el» método shift » devuelve el elemento que se ha eliminado, actualiza los índices de los elementos restantes y actualiza la propiedad length.
si no hay elementos, o la longitud del array es 0, el método devuelve undefined.,
usando Splice para eliminar elementos de matriz en JavaScript
el «método splice» se puede usar para agregar o eliminar elementos de una matriz.
el primer argumento especifica la ubicación en la que comenzar a agregar o eliminar elementos.
El segundo argumento especifica el número de elementos a eliminar.
el tercer argumento y los siguientes son opcionales, especifican los elementos que se agregarán a la matriz.,
Aquí usamos el método splice para eliminar dos elementos a partir de la posición tres (índice basado en cero):
el «método splice»devuelve una matriz que contiene los elementos eliminados.
Puede ver que la matriz eliminada contiene y la matriz original contiene los valores restantes.
también puede usar este método para eliminar un rango de elementos de una matriz.,
la Eliminación de Elementos de Matriz de Valor con Empalme
Si usted sabe el valor que desea eliminar de una matriz se puede utilizar el «método de empalme».
primero, debe identificar el índice del elemento de destino.
a continuación, utilice el índice como elemento de inicio y elimine solo un elemento.
Este es un ejemplo sencillo en el que los elementos son enteros.,
Si tiene una matriz de objetos, necesitará una rutina más sofisticada y esto funciona si solo desea eliminar un solo elemento.
si desea eliminar varios elementos que coinciden con sus criterios, hay un error.
a medida que los elementos se eliminan de la matriz, el índice sigue aumentando y el siguiente elemento después de su valor coincidente se omite.
la solución simple es modificar el ejemplo anterior para decrementar la variable índice para que no omita el siguiente elemento en la matriz.,
En el ejemplo modificado he añadido 2 5 valores a la matriz.
también agregué ‘I -;’ después de la llamada de empalme.
ahora, cuando ejecute el bucle, eliminará todos los elementos coincidentes.
Usando el método Array filter para eliminar elementos por valor
a diferencia del» método splice»,» filter » crea un nuevo array.
filter () no muta la matriz en la que se llama, pero devuelve una nueva.,
filter() tiene un único parámetro, un método de devolución de llamada que se activa a medida que el método filter itera a través de los elementos de la matriz.
pasará tres valores a la devolución de llamada: el valor o elemento actual, el índice de matriz actual y la matriz completa.
el método de devolución de llamada debe devolver true o false, es su responsabilidad probar el valor (elemento) para ver si cumple con sus criterios, si lo hace, puede devolver true.
Los elementos que devuelven true se añaden a una nueva matriz filtrada.,
debe tener en cuenta una nueva matriz que contiene los valores coincidentes se devuelve la matriz original queda intacto.
encuentro esto útil porque a menudo quiero conservar una fuente de datos original, pero recuperar subconjuntos basados en diferentes conjuntos de lógica.
El método Lodash Array Remove
a veces las bibliotecas de utilidades son la mejor manera de resolver problemas más complejos.
Lodash proporciona un rico conjunto de métodos de manipulación de matrices, uno para eliminar elementos.,
El Lodash «remove method» funciona de manera muy similar al array «filter method», no guarda los valores originales del array, sino que elimina los elementos coincidentes y los devuelve un nuevo array
haciendo que un método Remove
he mencionado antes, no hay matriz nativa.método de eliminación.
La biblioteca Lodash ofrece un método que resuelve este problema, pero es posible que no siempre desee usar una biblioteca.
esto no significa que no pueda crear un método de utilidad.,
he creado un método Array remove utility que se puede añadir a una biblioteca de ayuda o utilidad.
como el método «remove» de Lodash, el primer parámetro es la matriz de destino.
utiliza Array.filtrar para devolver elementos que no coincidan con un valor.
Este método es simple, asume valores simples como números o cadenas, puede modificar este método para usar un método de comparación personalizado, pero creo que sería más fácil usar el método de filtro directamente.,
Quitar Explícitamente los Elementos de una Matriz Utilizando el Operador Delete
puede eliminar elementos de la matriz utilizando el operador delete
Usando el operador delete no afecta a la longitud de la propiedad.
tampoco afecta a los índices de elementos posteriores.
la matriz se vuelve dispersa, que es una forma elegante de decir que el elemento eliminado no se elimina, sino que se vuelve indefinido.
el «operador delete»está diseñado para eliminar propiedades de los objetos JavaScript, que son objetos.,
la razón por la que el elemento no se elimina de la matriz es que el «operador delete» se trata más de liberar memoria que de eliminar un elemento.
la memoria se libera cuando no hay más referencias al valor.
borrar o restablecer una matriz JavaScript
¿Qué pasa si desea vaciar una matriz completa y simplemente volcar todos sus elementos?
hay un par de técnicas que puede utilizar para crear una matriz vacía o Nueva.,
la técnica más simple y rápida es establecer una variable de matriz en una matriz vacía
el problema que esto puede crear es cuando tiene referencias a la variable.
las referencias a esta variable no cambiarán, todavía conservarán los valores del array original.
esto por supuesto puede crear un error 🐛.,
Este es un ejemplo simplificado de este escenario
Un truco simple para borrar un array es establecer su propiedad length en 0.
Otro, una especie de antinatural técnica, es utilizar el «método de empalme», pasando a la longitud del arreglo como el 2do parámetro.,
esto devolverá una copia de los elementos originales, lo que puede ser útil para su escenario
Las últimas dos técnicas no crean un nuevo array, sino que cambian los elementos del array, esto significa que las referencias también deben actualizarse.
hay otra manera, usando un bucle while, se siente un poco extraño para mí, pero al mismo tiempo se ve elegante, por lo que puede impresionar a algunos amigos!,
No de una manera que yo haría la limpieza de un array de JavaScript, pero funciona y es legible.
algunas pruebas de rendimiento también han demostrado que esta es la técnica más rápida, así que tal vez es mejor de lo que pensaba originalmente!
resumen
eliminar elementos de matriz JavaScript es una operación que tiene muchas facetas, depende de dónde y cómo desea eliminar el elemento.
no hay un solo método ‘remove’ disponible, pero hay diferentes métodos y técnicas que puede usar para purgar elementos de matriz no deseados.,
Este artículo ha revisado estos métodos y cómo se pueden usar y espero que haya aprendido un método que no conocía.
Deja una respuesta