Foros del Web » Programando para Internet » Javascript »

Comprobar array completo

Estas en el tema de Comprobar array completo en el foro de Javascript en Foros del Web. Hola, foreros!: Espero que me podais ayudar con una pequeña funcion que tengo que hacer, jeje. Tengo un array, llamado "col", con un numero indeterminado ...
  #1 (permalink)  
Antiguo 06/12/2008, 20:03
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Comprobar array completo

Hola, foreros!:

Espero que me podais ayudar con una pequeña funcion que tengo que hacer, jeje. Tengo un array, llamado "col", con un numero indeterminado de elementos. Necesito que una funcion recorra todos los elementos del array y cree unas variables para cada elemento.

Yo ahora lo hago uno a uno, pero quiero hacerlo con todos los elementos con una sola funcion:

Código PHP:
//primero compruebo que existe:
    
if(col[0])
        {
            
variable_para_0='mira que variable mas bonita';
        }
//sino existe:
    
else
        {
            
variable_para_0='esta variable no existe';
        } 


¿Como puedo hacerlo?
  #2 (permalink)  
Antiguo 06/12/2008, 21:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Comprobar array completo

Podría ser un bucle for:
Código javascript:
Ver original
  1. for (var i in col) {
  2.     window['variable' + i] = col[i];
  3. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 06/12/2008, 21:26
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: Comprobar array completo

No sé si entendí bien lo que querías. Fijate si esto te sirve:
Código PHP:
<script>
var 
a=['uno','dos','tres'];
for(var 
i in a)window[a[i]]='loquesea';
alert(uno)
</script> 
Edito: Uy, perdón por el choque David!
  #4 (permalink)  
Antiguo 06/12/2008, 23:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Comprobar array completo

Hola:

Bueno, creo que el atributo length puede darnos un problema si hacemos un bucle asociativo, para estos casos esa es la referencia para los bucles...

for (i = 0, total = col.length; i < total; i ++) window["variable_para_" + i] = "";

Con el bucle asociativo se crearía también la variable variable_para_length

Y si definiésemos métodos para arrays sería igual...

Array.prototype.mi_metodo => variable_para_mi_metodo...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 07/12/2008, 11:26
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: Comprobar array completo

Hola a todos!

Cuanta respuestas... jeje... Bueno... al final use el codigo de David el Grande, jeje... no por ser mejor o peor... pues aun no soy tan sabiondo en el tema para distinguirlo, jeje... sino por ser el primero... jeje. Menudo choque Panino5001, jeje...

En cuanto a la respuesta de caricatos... ya lo siento pero no me he enterado, jeje. Aun no se tanto como vosotros... flipo con todo lo que sabeis... se me cae la baba.. jeje. Y mira que leo despacito, pero bufff... que novato soy en esto del javascript, pero que divertido es, jeje.

Bueno...

Muchisimas gracias a todos!, que grandes sois...

PD: ayba... ya entendi caricatos... tal vez me equivoque... pero supongo que es para que no se creen mas variables de las necesarias... pero no se seguro... jeje.
  #6 (permalink)  
Antiguo 07/12/2008, 11:52
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: Comprobar array completo

Hola de nuevo...

Aqui el niño aprendiendo, jeje. He usado fenomenal el codigo que me disteis para hacer las variables que nesitaba... menudo trabajo me habeis quitado de encima, jeje.

Ahora me ha surgido un problema muy similar y no creia necesario abrir otro post... jeje. Es un tema mas de javascript puro que ajax... pero bueno, jeje. Cuando envio los datos de mis campos por medio de ajax hago como una cadena con todos los datos bien recogidos. Algo asi:

Código PHP:
request.send
    
("valor_0 ="+encodeURIComponent(campo_0)
    +
"&valor_1="+encodeURIComponent(campo_1)
    +
"& valor_2="+encodeURIComponent(campo_2)
    ); 
Esto funciona fantasticamente si sabes que tienes 3 campos en el formulario... pero ahora necesitaba comprobar un array que tiene todos los campos y que me escribiese toda esa candena... pero me da error por todas partes... jeje. Mirar como he creido que se podia hacer (no os riais, jeje):

Código PHP:
request.send
    
(
        
//primero pongo la direccion
            
"direccion ="+encodeURIComponent(self.location.href)
        
//la variable col, es el array con todos los valores de los campos, que me enseñasteis a crear:
            
for (var i in col
                {
                    if(
col[i])
                        {
                            +
"&"+window['valor_' i]+"="+encodeURIComponent(window['campo_' i]);
                        }
                }
    } 
No se ni cuantos errores acabo de cometer escribiendo ese fragmento de codigo... pero supongo que queda claro que soy novato novato... jeje... .

¿Como debo hacerlo?
  #7 (permalink)  
Antiguo 07/12/2008, 13:17
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: Comprobar array completo

Hola de nuevo...

No me contesteis todavia, jeje... que estoy probando algunas cosillas que tal vez me solucionen el problemilla, jeje.

Grachias!.
  #8 (permalink)  
Antiguo 07/12/2008, 13:33
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: Comprobar array completo

Hola hola hola!...

Bufff... no me lo puedo creer, jeje... poco a poco voy pillando esto del javascript, jeje. Pense que no podria hacer una funcion un poco 'compleja' en mi vida... y por lo menos esto rompe la regla (se que para vosotros sera un tonteria, para mi un mundo):

Código PHP:
//obtener los objetos del formulario DOM:
    
var col=getElementsByClass('form_input',null,'input');
//rastrear formulario y crear cadena para enviar
    
var col_arrayon = new Array()
    for (var 
i in col
        {
            
//comprobar si es submit, en el nombre (largo de explicar, jeje):
            
form_input_col_submit = /submit/;
            if(
form_input_col_submit.test(col[i].name))
                {
                                                        
                }
            else
                {
                    if(
col[i].value == '')
                        {    
                            
col_valuesimo col[i].value;                                    
                            
col_arrayon[i] = '&value_'+i+'='+encodeURIComponent(null);
                        }                                                    
                    else
                        {
                            if(
col[i].value == 'null')
                                {
                                    
col_valuesimo col[i].value;
                                    
col_arrayon[i] = '&value_'+i+'='+encodeURIComponent('write: null');
                                }
                            else
                                {
                                    
col_valuesimo col[i].value;
                                    
col_arrayon[i] = '&value_'+i+'='+encodeURIComponent(col_valuesimo);
                                }
                        }
                }
        }
        
//ajax
            
request.onreadystatechange form_send_receibe;
            
request.open("POST""/form_send.php");
            
request.setRequestHeader('Content-Type''application/x-www-form-urlencoded;');
        
//unir datos:        
            
var juntos col_arrayon.join(" ");
            
cadena_url="url="+encodeURIComponent(self.location.href);
            
cadena_magica cadena_url juntos;
        
//enviar por post todos los datos:
            
request.send(cadena_magica); 
Bueno... no me beso por que no me llego, jejejeje.

Ains... que feliz soy... aunque se que para vosotros sera una tonteria... tendra un monton de errores... para mi poder haber hecho que funcione es un milagro... jeje.

Hasta la siguiente!!!!...
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 20:00.