Hola a todos
Solo eso . como se borra un elemento de un array?
supongamos que quiero borrar el elemento "carmen" de este array:
var miarray = new Array()
miarray[0]= "carmen";
miarray[1]= "jose";
gracias
| |||
borrar un elemento de un array Hola a todos Solo eso . como se borra un elemento de un array? supongamos que quiero borrar el elemento "carmen" de este array: var miarray = new Array() miarray[0]= "carmen"; miarray[1]= "jose"; gracias |
| |||
Re: borrar un elemento de un array Aqui van algunos ejemplos de borrado de elementos de un arreglo Borrar el ultimo elemento pop() myFish = ["angel", "clown", "mandarin", "surgeon"]; popped = myFish.pop(); Borra el primer elemento shift() myFish = ["angel", "clown", "mandarin", "surgeon"]; shifted = myFish.shift(); Borra una posicion determinada del arreglo arreglo=new Array("redwood","bay","cedar","oak","maple"); delete arreglo[3]; |
| |||
Re: borrar un elemento de un array gracias rlobos supongo que con el ultimo ejemplo me arreglaria: delete arreglo[3]; pero para esto PRIMERO necesitaria saber como hago para saber que posicion tiene un elemento ? |
| ||||
Re: borrar un elemento de un array Es un problema que se solventa fácilmente si utilizamos un buscador... Para borrar elementos de un array a mi personalmente el método del operador delete no me convence, porque pasa lo siguiente: Código PHP: Cita: La longitud del array no se modifica! Esto es, hay un elemento sin valor, cuyo valor es undefined, y si hiciéramos un bucle desde 0 hasta miArr.length tendríamos ese valor undefined ahí.
Iniciado por output Longitud del array: 4; Contenido: perro,casa,coche,avión Longitud del array: 4; Contenido: perro,,coche,avión Para recorrerlo he propuésto tres métodos: Código PHP: Cita: El primero es un poco chapuza, el segundo es el desastre total y el último es el que "nos vale", siempre y cuando no utilicemos el prototype para añadirle funcionalidad:
Iniciado por output miArr: miArr[0] = perro miArr[1] = undefined miArr[2] = coche miArr[3] = avión ----- miArr: miArr[0] = perro ----- miArr: miArr[0] = perro miArr[2] = coche miArr[3] = avión Código PHP: Cita: Habría que tener cuidado porque aquí también nos recorre las funciones declaradas para el objeto... es un poco problemático.
Iniciado por output miArr: miArr[alertaUnoPorUno] = function() { for(var i=0; i<this.length; i++) { alert( this[i] ); }} miArr[0] = perro miArr[2] = coche miArr[3] = avión La solución que propongo es splice(). Si colocamos miArr.splice(x,1) nos borrará el elemento x del array. Lo peligroso es que modifica la longitud del array, y para utilizarlo en bucles tenemos que tener cuidado. Cita: Para saber qué posición tiene un valor ya dado tendrías que crearte una función buscar() para un array que te devuelva la posición que buscas, como tantas otras cosas, no está implementada por defecto
Iniciado por chefnelone pero para esto PRIMERO necesitaria saber como hago para saber que posicion tiene un elemento ? Un saludo.
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| |||
Re: borrar un elemento de un array gracias No se si he entendido todo pero voy a ver como me la arreglo. De todas formas aun no se como detectar la posicion de un elemento en un array... Vaya lio no? para hacer algo tan sencillo (esto me recuerda como me gusta php ) Última edición por chefnelone; 25/08/2007 a las 10:28 |
| ||||
Re: borrar un elemento de un array No trabajo con librerías prefrabricadas, pero en proyectos grandes suelo reutilizar las mismas funciones: Código PHP: Código PHP: Cita: Y aquí no ha pasado nada
Iniciado por output Longitud del array: 4; Contenido: perro,casa,coche,avión Elimino 'coche' Longitud del array: 3; Contenido: perro,casa,avión Es complicado, pero es que js no es que tenga tanto "repertorio" como php, tiene 4 cosillas, y mejorarlo es complejo porque depende del navegador del usuario, en última instancia casi de m$, y no suelen apuntar muy bien. Un saludo
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |