¿Cómo elimino un valor específico de una matriz? Algo como:
array.remove(value); // elimina todos los elementos con valor
Tengo que usar core JavaScript. Los marcos no están permitidos.
- Walker
SourceEl método splice() cambia el contenido de una matriz eliminando elementos existentes y/o agregando nuevos elementos.
const array = [2, 5, 9];
consola.log(matriz);
const índice = array.indexOf(5);
si (índice > -1) {
array.splice(índice, 1); // 2do parámetro significa eliminar solo un elemento
}
// matriz = [2, 9]
consola.log(matriz);
splice
modifica la matriz en su lugar y devuelve una nueva matriz que contiene los elementos que se han eliminado.
[2,5,9,1,5,8,5]
), mientras que la la segunda función elimina todas las apariciones:
función removeItemOnce(arr, valor) {
índice var = arr.indexOf(valor);
si (índice > -1) {
arr.splice(índice, 1);
}
retorno arr;
}
función removeItemAll(arr, valor) {
var i = 0;
while (i < arr.longitud) {
if (arr[i] === valor) {
arr.empalme(i, 1);
} demás {
++yo;
}
}
retorno arr;
}
// uso
consola.log(removeItemOnce([2,5,9,1,5,8,5], 5))
consola.log(removeItemAll([2,5,9,1,5,8,5], 5))
En TypeScript, estas funciones pueden permanecer seguras con un parámetro de tipo:
función removeItem(arr: Array, value: T): Array {
índice const = arr.indexOf(valor);
si (índice > -1) {
arr.splice(índice, 1);
}
retorno arr;
}