Javascript: Eliminar un item de un array por su nombre
Pongan esto en su codigo:
1 2 3 4 5 6 7 8 9 10 11 |
Array.prototype.removeItem = function (a) { for (var i = 0; i < this.length; i++) { if (this[i] == a) { for (var i2 = i; i2 < this.length - 1; i2++) { this[i2] = this[i2 + 1]; } this.length = this.length - 1; return; } } }; |
Y ya podemos eliminar elementos del array:
1 2 3 |
var frutas = ['manzana', 'banana', 'pera']; frutas.removeItem('banana'); console.log(frutas); // Entrega [‘manzana’, ‘pera’] |
Chau!
Puedes utilizar también:
Lo malo es que indexOf no es soportado en IE7-8, por lo que pudieras hacer entonces, el mismo código que tienes pero en vez de hacer esto:
Puedes simplemente hacer esto:
Salu2.
la propuesta de rolando usando indexOf es mucho mas eficiente saludos!
Anda, no sabía que con indexOf podías hacer búsquedas por key en un array!