Yo tengo:
var array = new Array();
array.push("A");
array.push("B");
array.push("C");
Quiero poder hacer algo como:
array.remove("B");
pero no hay función de eliminación. ¿Cómo logro esto?
javascript
arrays
Rolando
fuente
fuente
.indexOf()
y.splice()
debería hacer el truco. O tal vez, en su defecto,.filter()
.Respuestas:
De hecho, estoy actualizando este hilo con una solución de 1 línea más reciente:
La idea es básicamente filtrar la matriz seleccionando todos los elementos diferentes al elemento que desea eliminar.
Nota: eliminará todas las ocurrencias.
EDITAR:
Si desea eliminar solo la primera ocurrencia:
fuente
Recorra la lista en orden inverso y use el
.splice
método.El orden inverso es importante cuando se deben eliminar todas las apariciones del término de búsqueda. De lo contrario, el contador aumentará y omitirá elementos.
Cuando solo se debe eliminar la primera aparición, lo siguiente también funcionará:
fuente
0
no es automáticamente más rápida como lo es, digamos, C. Siempre que guarde el límite en caché, por supuesto, lo que complicaría las cosas si continúa después del primer partido (pero no si se detiene).Lista de One Liners
Resolvamos este problema para esta matriz:
1. Elimine solo el primero: Use Si está seguro de que el artículo existe
2. Elimine solo el último: Use Si está seguro de que el artículo existe
3. Eliminar todas las ocurrencias:
fuente
MANIFESTACIÓN
Necesita encontrar la ubicación de lo que está buscando y
.indexOf()
luego eliminarlo con.splice()
Esto se encargará de todos los sucesos.
fuente
.indexOf()
, puede agregar esto a su archivo javascript.Uncaught ReferenceError: array is not defined
. ¿Qué está mal?.indexOf()
un poco más. Si pasafound
como segundo argumento a la.indexOf()
llamada dentro del ciclo while , los elementos en la matriz que ya se verificaron y terminaron no siendo iguales no se verifican nuevamente:found = arr.indexOf(what, found);
Simplemente
fuente
-1
si no se encuentra nada y, ¡ay !, el empalme eliminará 1 elemento del final de la matrizSolución simple (ES6)
Si no tienes un elemento duplicado
Demostración en línea (violín)
fuente
Tienes que escribir tu propio eliminar. Puede recorrer la matriz, tomar el índice del elemento que desea eliminar y usar
splice
para eliminarlo.Alternativamente, puede crear una nueva matriz, recorrer la matriz actual y, si el objeto actual no coincide con lo que desea eliminar, colóquela en una nueva matriz.
fuente
utilizar:
Esto elimina un elemento de la matriz, comenzando en el índice 2 (tercer elemento)
fuente
array.splice(2,1)
que elimina 1 elemento en el índice 2 de la matriz. consulte https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice para obtener más detalleso puedes usar:
El Array modificado contendrá el valor sin valor 'B'
fuente
use array.splice
Fuente: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
fuente
array
ysplice
tiene que ser un punto.