¿cómo eliminar un elemento de una matriz en JavaScript?

hay una gran probabilidad de que en algún momento en el pasado haya escrito la frase anterior en el campo de búsqueda Google o Stack Overflow. Este problema es tan común que es la pregunta más votada bajo la etiqueta javascript en la pila. Si es tan popular, ¿por qué no echar un vistazo más de cerca a ese problema?

el problema de eliminar elementos del array parece ubicuo y por lo tanto importante.

en JavaScript hay muchos métodos en el propio Array, pero también en otros objetos estándar., Entre esos métodos hay bastantes que pueden ayudarnos a resolver el problema especificado. Significa que en realidad hay múltiples respuestas a la pregunta del título. Repasemos los más populares.

para hacer que las soluciones sean más comparables, caracterizaremos cada una de ellas utilizando tres propiedades:

  • in — place – ¿este método modifica la matriz original? Si no es así, devuelve el array modificado (array sin elemento eliminado)
  • elimina duplicados — ¿este método elimina todas las ocurrencias del elemento especificado o solo la primera?,
  • By value / index – ¿este método requiere proporcionar el valor del elemento o su índice en la matriz?

para simplificar los ejemplos asumiremos que todos los arrays contienen valores primitivos como números.

en esta sección vamos a evaluar los enfoques más comunes al problema en el caso general. Por general me refiero a la eliminación de un elemento que no tiene un lugar especial en la matriz. No es el último, el primero o el único. Es sólo Joe normal entre los elementos de array.

Eliminar elemento por valor usando .,splice ()

El método Splice se puede usar para deshacerse de un elemento en un índice conocido. Si solo conoce el valor, primero debe identificar el índice del elemento. A continuación, utilice el índice como elemento de inicio y elimine solo un elemento.

Retire el elemento utilizando el método de empalme

Propiedades de la solución:

Propiedades de empalme método de solución

Quitar el elemento de Matriz utilizando .,filter() method

Specific element can be filtered out from array, by providing filtering function. Such function is then called for every element in array.

Remove element using filter method

Properties of the solution:

Properties of filter method solution

Removing Array element by extending Array.prototype

Prototype of Array can be extended with additional methods., Estos métodos estarán disponibles para su uso en los arrays creados.nota: extender prototipos de objetos de la biblioteca estándar de JS (como Array) es considerado por algunos como antipattern.,

Eliminar elemento extendiendo el prototipo de matriz

propiedades de la solución:

propiedades de extending prototype solution

la eliminación del elemento array mediante el operador delete

el uso del operador Delete no afecta a la propiedad length. Tampoco afecta a los índices de los elementos posteriores. El elemento eliminado no se elimina, pero se vuelve indefinido., The delete operator is designed to remove properties from JavaScript objects, which arrays are objects.

Remove element using delete operator

Properties of the solution:

Properties of delete operator solution

Removing Array element using Object utilities (>= ES10)

ES10 introduced Object.,fromEntries, que se puede usar para crear una matriz deseada a partir de cualquier objeto similar a una matriz y filtrar elementos no deseados durante el proceso.

Retire el elemento mediante Objeto.,fromEntries

Propiedades de la solución:

Propiedades de fromEntries solución

casos Especiales

En esta sección vamos a evaluar tres casos especiales en los términos de la matriz del elemento especificado reside: en el principio, al final o en ambos casos, es decir, es el único elemento en la matriz.

Eliminar elemento si está al final de la matriz..

..,cambiando la longitud de la matriz:

Los elementos de la matriz JavaScript se pueden eliminar del final de una matriz estableciendo la propiedad length en un valor menor que el Valor Actual. Se eliminará cualquier elemento cuyo índice sea mayor o igual a la nueva longitud.

Quitar la última cambiando la longitud de la propiedad

Propiedades de la solución:

Propiedades de cambiar la longitud de la solución

..mediante el uso de .,método pop ():

el método pop elimina el último elemento de la matriz, devuelve ese elemento y actualiza la propiedad length. 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 el último utilizando el método pop

Propiedades de la solución:

Propiedades de pop método de solución

la Eliminación de elemento, si es al principio de la Matriz

El .el método shift () funciona de manera muy similar al método pop, excepto que elimina el primer elemento de una matriz JavaScript en lugar del último. Cuando se elimina el elemento, los elementos restantes se desplazan hacia abajo.,

Quitar primero mediante el método de cambio

Propiedades de la solución:

Propiedades de cambio de método de solución

la Eliminación de elemento, si es el único elemento en el Array

El método más rápido es establecer una variable de matriz a una matriz vacía.,

Quitar el único elemento mediante la creación de la nueva matriz

Propiedades de la solución:

Propiedades de la nueva creación de la matriz de solución

como alternativa, la técnica de uno de los ejemplos anteriores puede ser utilizado para la creación de longitud a 0.

conclusión

JavaScript es cada vez más fácil de usar para desarrolladores. Se añaden nuevas herramientas con cada versión., La consecuencia de eso es que hay muchas maneras de manejar tareas simples. El problema de la eliminación de elementos de la matriz parece ubicuo y, por lo tanto, importante. Espero que hayas aprendido algo nuevo leyendo este artículo. También espero que te anime a estudiar las cosas simples en JS, como alguien sabio dijo una vez:

practique usted mismo, por el amor de Dios en las cosas pequeñas, y luego proceder a mayor. – Epictetus

una nota de JavaScript en Inglés sencillo: siempre estamos interesados en ayudar a promover contenido de calidad., Si tiene un artículo que le gustaría enviar a JavaScript en Inglés sencillo, envíenos un correo electrónico a [email protected] con tu nombre de usuario Medium y te agregaremos como escritor.

Author: admin

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *