2012-03-03 1 views
0

Je voudrais savoir comment vérifier un tableau qui contient plusieurs variables. Quelque chose comme ça. Je peux expliquer mieux avec le code affiché:comment vérifier un tableau .. dans un tableau? jquery

// Ignore the words in here, they are just there to explan. 
var $array = [ 
    alpha = { 
    name : $('.a'), 
    date : $('.b'), 
    street: $('.c') 
    }, 
    beta = { 
    name : $('.x'), 
    date : $('.y'), 
    street: $('.z') 
    }  
]; 

/* So now I got this arrays.. withing an array? is that correct? 
* or what is this called? 
* and now I want to check each object's length, if its 0 -> return false and 
* throw out an error, if >= 1 go on and check the next. */ 

// Check if all needed elements for the toggle to work are existent 
$.each($array, function(key, value) { 
    if (!value.length) { 
    alert("Could not find "+ '"' + value.selector +'"!') 
    return false 
    }; 
}); 
// Well obviously this doesnt work.. 

Merci à l'avance!

+4

vous devriez probablement faire des recherches et de savoir un objet ** ** d'un ** tableau ** – Joseph

Répondre

1

Vous pouvez passer en boucle les noms des propriétés d'un object avec une boucle for (... in ...):

/* since the array isn't a jQuery object, don't prefix the name with `$` */ 
var things = [ 
    /* array elements have integer, not string, indices. In any case, 
     "alpha = ..." is the wrong syntax to set properties. What it 
     does is set a variable named "alpha". 
    */ 
    {...}, 
    {...}, 
]; 

$.each(things, function(idx, item) { 
    for (p in item) { 
    if (! item[p].length) { 
     /* alerts are disruptive; use other means of informing 
     the user or developer. 
     */ 
     //alert("Could not find "+ '"' + value.selector +'"!') 
     return false; 
    } /* blocks don't need semicolon separators */ 
    } 
}); 

Voir aussi « For .. in loop? »

+0

quel est le (p dans item) ici? –

+0

@MartinBroder: c'est à ça que servent les liens. – outis

+0

Devrait probablement aussi utiliser hasOwnProperty dans cette boucle: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/HasOwnProperty –

Questions connexes