Foros del Web » Programando para Internet » Javascript »

recorrer y eliminar posicion de array

Estas en el tema de recorrer y eliminar posicion de array en el foro de Javascript en Foros del Web. Hola gente, tengo una lista de objetos en un array, el cliente selecciona uno para eliminar, en ese momento invoco al metodo deseteate que procede ...
  #1 (permalink)  
Antiguo 12/12/2008, 06:17
Avatar de Jesica  
Fecha de Ingreso: agosto-2007
Mensajes: 78
Antigüedad: 16 años, 9 meses
Puntos: 0
recorrer y eliminar posicion de array

Hola gente, tengo una lista de objetos en un array, el cliente selecciona uno para eliminar, en ese momento invoco al metodo deseteate que procede a eliminarlo.
estoy tratando de hacerlo de la siguiente manera, pero tengo errores cuando intento eliminar la primer posicion del array.

error: array[...] es nulo o no es un objeto

Se que debe ser que no encuentra un indice en alguna de las vueltas del for, pero no encuentro la solucion.

Código:
function deseteate()
{

var pos= this.posicion-1; //obtengo el indice del array del objeto que selecciono el cliente.

if(array.length >1)
	{	i=0;
		for(i=pos;i<=array.length-this.posicion;i++)

	{
			array[i]=array[i+1];
			array[i].posicion=[i+1];
			
		}
	}
	//elimina ultima posicion del array
	array.pop();

muchas gracias desde ya.
Jesi
  #2 (permalink)  
Antiguo 12/12/2008, 06:22
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: recorrer y eliminar posicion de array

Porqué creás un método para algo que existe de manera nativa? Deberías usar:
splice
  #3 (permalink)  
Antiguo 12/12/2008, 06:52
Avatar de Jesica  
Fecha de Ingreso: agosto-2007
Mensajes: 78
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: recorrer y eliminar posicion de array

Gracias por responder.
Ya estuve intentando con el splice, pero no logre entenderlo del todo, si mal no entendi, me borra el indice, y yo lo necesito despues para recorrerlo.

ejemplo, si tengo este array:
a[0]=pepe
a[1]=jose
a[2]=juan

y borro jose, el array quedaria asi?:
a[0]=pepe
a[2]=juan

o juan pasaria al indice [1] ?
  #4 (permalink)  
Antiguo 12/12/2008, 08:05
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: recorrer y eliminar posicion de array

splice te devuelve un nuevo array con los índices actualizados (no tiene en cuenta los anteriores). En el enlace que te dejé hay un probador donde podés verificarlo:
http://www.w3schools.com/jsref/tryit...ryjsref_splice
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:58.