Boucle à travers les éléments d'un tableau associatifProblème
Vous devez examiner chaque élément d'un tableau associatif
Solution
utilisez les messages <<
// load a table of elements
dt = Open( "https://en.wikipedia.org/wiki/List_of_chemical_elements", HTML Table( 4, Column Names( 2 ), Data Starts( 5 ) ) );
// make an associative array using "H" to lookup "Hydrogen" and some of its properties
map_Symbol_To_Data = Associative Array( dt[1 :: 118, "Symbol"], dt[1 :: 118, [3/*element name*/, 1/*element number*/, 7/*atomic weight*/]] );
// close the table
Close( dt, nosave );
// loop through the keys using <<FIRST and=""><<NEXT for=""></NEXT></FIRST>
Re : Boucler à travers les éléments d'un tableau associatifMerci!
ce qui m'a laissé me demander, pourquoi le changement? Wikipédia a grande histoire , ressemble au ~30juin2021. Il a également le ancienne page , qui fonctionne toujours si vous vous demandez à quoi il ressemblait.
Le code d'origine utilisait un mix'n'match de numéros de colonnes et de noms de colonnes. C'est bon et mauvais, je suppose. Au moins, la colonne nommée a échoué, même si cela aurait été bien en tant que nombre. Mais alors la colonne 7 ou 8 aurait pu échouer/fonctionner silencieusement avec un mauvais poids atomique de la mauvaise colonne.
Re : Boucler à travers les éléments d'un tableau associatif
Merci @Craige_Hales pour la démonstration utile.
En essayant ce script, j'ai remarqué que Wikipedia a mis à jour la table de sorte que la commande de tableau associatif renvoie une erreur.
Je pense que c'est la ligne qui doit être exécutée pour que le tableau associatif soit produit correctement.
map_Symbol_To_Data = Associative Array( dt[1 :: 118, "Element 2"], dt[1 :: 118, [3/*element name*/, 1/*element number*/, 8/*atomic weight*/]] );
Re : Boucler à travers les éléments d'un tableau associatifsym = map_Symbol_To_Data << first
récupère la première clé.
sym = map_Symbol_To_Data << next( sym )
récupère la clé après la clé actuelle dans Sym .
La capitalisation n'est pas importante pour les variables, les fonctions ou les méthodes jsl. Cependant, il est important pour la valeur de clé réelle. sym="A" et sym="a" sont deux clés distinctes.
map_Symbol_To_Data[sym]
recherche la valeur sym dans le tableau associatif.
map_symbol_to_data est censé indiquer que le tableau associatif est un mappage de symboles (sym, les clés) aux valeurs de données.
Re : Boucler à travers les éléments d'un tableau associatifLa première méthode (First, Next) parcourt-elle les clés ou les valeurs du tableau associatif ? De plus, dans l'index de script, il y a une incohérence orthographique - d'abord First n'est pas en majuscule, puis il est plus bas, donc je ne sais pas s'il doit être en majuscule ou non. Devrait-ce être?
Re : Boucler à travers les éléments d'un tableau associatifUtilisation intelligente d'une boucle for.Je n'ai utilisé que while avec des tableaux associatifs auparavant.Je vais devoir essayer ça.