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.
Propiedades de la 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.
Properties of the 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.,
propiedades de la solución:
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.
Properties of the 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.
Propiedades de la 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.
Propiedades 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.,
Propiedades de la 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.,
Propiedades de la 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.,
Propiedades de la 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.