Mon problème avec cela est que la boucle continue d'aller dans l'instruction if même pour les codes-barres en double. J'essaie de saisir l'instruction if uniquement pour des codes-barres uniques, mais à la fin de la boucle, myArray contient des doublons .... pourquoi?
var myArray = new Array(); var i = 0;
$("li.foo").each(function(){
var iBarCode = $(this).attr('barcode');
if( !( iBarCode in myArray ) ){
myArray[i++] = iBarCode;
//do something else
}
});
Jquery a une fonction inArray () .
var myArray = new Array(); var i = 0;
$("li.foo").each(function(){
var iBarCode = $(this).attr('barcode');
if( $.inArray(iBarCode, myArray) == -1 ){
myArray[i++] = iBarCode;
//do something else
}
});
Le mot clé in
recherche des propriétés, par exemple lorsque vous voulez savoir si un objet dispose d'une méthode disponible. Puisque vous recherchez des valeurs, elle renvoie toujours false.
Vous devriez plutôt utiliser une fonction de recherche de tableau comme Gazler le conseille.