w3schools remove from especifico eliminar elemento array typescript

remove - splice typescript



¿Cómo elimino un elemento de matriz en TypeScript? (7)

Con ES6 puedes usar este código:

removeDocument(doc){ this.documents.forEach( (item, index) => { if(item === doc) this.documents.splice(index,1); }); }

Tengo una matriz que he creado en TypeScript y tiene una propiedad que uso como clave. Si tengo esa clave, ¿cómo puedo eliminar un elemento de ella?


De la misma manera que lo harías en JavaScript.

delete myArray[key];

Tenga en cuenta que esto establece el elemento en undefined .

Mejor usar la función Array.prototype.splice :

const index = myArray.indexOf(key, 0); if (index > -1) { myArray.splice(index, 1); }


Es mi solución para eso:

onDelete(id: number) { this.service.delete(id).then(() => { let index = this.documents.findIndex(d => d.id === id); //find index in your array this.documents.splice(index, 1);//remove element from array }); event.stopPropagation(); }


Puede utilizar el método de splice en una matriz para eliminar los elementos.

por ejemplo, si tiene una matriz con el nombre arr use lo siguiente:

arr.splice(2,1);

así que aquí el elemento con el índice 2 será el punto de partida y el argumento 2 determinará cuántos elementos se eliminarán.

Si desea eliminar el último elemento de la matriz llamada arr , haga esto:

arr.splice(arr.length,1);

Esto devolverá arr con el último elemento eliminado.


Si la matriz es el tipo de objetos, entonces la forma más sencilla es

let foo_object // Item to remove this.foo_objects = this.foo_objects.filter(obj => obj !== foo_object);


Una solución más utilizando Typescript:

let updatedArray = []; for (let el of this.oldArray) { if (el !== elementToRemove) { updated.push(el); } } this.oldArray = updated;


Respuesta utilizando el operador de propagación de TypeScript (...)

// Your key const key = ''two''; // Your array const arr = [ ''one'', ''two'', ''three'' ]; // Get either the index or -1 const index = arr.indexOf(key); // returns 0 // Despite a real index, or -1, use spread operator and Array.prototype.slice() const newArray = (index > -1) ? [ ...arr.slice(0, index), ...arr.slice(index + 1) ] : arr;