Foros del Web » Programando para Internet » Javascript »

Problema con array

Estas en el tema de Problema con array en el foro de Javascript en Foros del Web. Hola, Tengo un array que contiene numeros del 1 al 9, y amedida que presionan unos botones, va borrando el numero, pero me va aumentando ...
  #1 (permalink)  
Antiguo 05/12/2008, 18:27
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 7 meses
Puntos: 101
Problema con array

Hola,
Tengo un array que contiene numeros del 1 al 9, y amedida que presionan unos botones, va borrando el numero, pero me va aumentando el array.
Ejemplo de como ago:
Código HTML:
<script>
  var numeros=new Array();
  numeros[1]='1';
  numeros[2]='2';
  numeros[3]='3';
  numeros[4]='4';
  numeros[5]='5';
  numeros[6]='6';
  numeros[7]='7';
  numeros[8]='8';
  numeros[9]='9';
  function numAzar(array){
  num=Math.floor(Math.random()*(count(array)+1));
  if(num==""){
  num=Math.floor(Math.random()*(count(array)+1));
  }
  return num;
  }
  function borrarParametro(parametros,p){
  var arr=new Array();
  for(var i=0;i<=count(parametros);i++){
  if(i!=p){
  arr[i]=parametros[i];
  }
  }
  return arr;
  }
  function count(array){
  return array.length;
  }
  function ejemplo(a){
  var num=numAzar(numeros);
  var aborrar=numeros[num];
  numeros=borrarParametro(numeros,num);
  alert("Se a borrado el numero "+num+" que contiene "+aborrar+". Array con "+count(numeros)+" parametros.\nArray:"+numeros);
  }
</script>
<a href="#" onClick="ejemplo();return false;">Borrar numero al azar</a> 
Gracias
Salu2
__________________
Half Music - www.halfmusic.com
  #2 (permalink)  
Antiguo 05/12/2008, 20:58
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 7 meses
Puntos: 101
Respuesta: Problema con array

¿Nadie sabe porque?
__________________
Half Music - www.halfmusic.com
  #3 (permalink)  
Antiguo 06/12/2008, 01:20
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: Problema con array

Es que el índice inicial de los arrays es cero, que en tu ejemplo no existe y entonces queda vacío, y además, cuando hacés el bucle, en la condición usás el operador <= y deberías usar sólo <. Para borrar un elemento de un array deberías usar el método nativo splice en lugar de crear una función propia.
  #4 (permalink)  
Antiguo 06/12/2008, 11:15
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 7 meses
Puntos: 101
Respuesta: Problema con array

Hola,
¿Y como lo borro con splice?
Intento con:
parametro.splice(p);
Pero si borra el 3 me borra todos los de adelante.
Gracias
Salu2
__________________
Half Music - www.halfmusic.com
  #5 (permalink)  
Antiguo 06/12/2008, 12:03
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: Problema con array

Hombre, usá el buscador para ver cómo funciona:
http://www.google.com.ar/search?sour...gle&meta=lr%3D
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 21:15.