Besoin de conseil

assistanteclara Messages postés 2 Date d'inscription dimanche 3 juillet 2022 Statut Membre Dernière intervention 3 juillet 2022 - Modifié le 3 juil. 2022 à 18:40
 assistanteclara - 6 juil. 2022 à 10:19
Bonjour la communauté

J'aurais besoin d'un peu d'aide en Javascript
Je suis entrains de me créer un petit JS mais là je suis bloquer, je vous explique mon problème.

Donc voilà j'ai 2 tableaux qui évoluent avec le temps :

var listMovies = ["Minuscule","Seigneur","Fatalis","Dune","Terra"];
var listHours = ["1985","1985","1986","1984","1999"];


J'aimerais qu'avec c'est 2 tableaux j'obtienne cette réponse sans avoir à toujours modifier mon JS à chaque modification de c'est 2 lignes

["Minuscule" : "1985","Seigneur" : "1985","Fatalis" : "1986","Dune" : "1984","Terra" : "1999"]

Donc j'aimerais éviter d'avoir ce genre de ligne :
console.log(listMovies[0]+" : "+listHours[0]" , "listMovies[1]+" : "+listHours[1]" , "listMovies[2]+" : "+listHours[2]" , "listMovies[03]+" : "+listHours[3]" , "listMovies[4]+" : "+listHours[4]);

Merci d'avance pour vos réponse.

3 réponses

Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
3 juil. 2022 à 21:24
Bonjour

je ne code pas en JS et donc je n'ai pas la réponse à ta question.

Cela dit, même si je l'avais je ne te la donnerais pas car ceux que tu veux faire n'est pas cohérent.
Déjà ta collections d'années s'appelle liste d'heures... rien de tel pour se planter quand on reprend son code après une interruption.

Ensuite ces 2 informations sont liées, donc il serait extrêmement mieux (pour ne pas dire il faut), qu'elle soit stockées ensemble dans une seule collection.

Tu as l'embarras du choix (j'ai vérifié que ça existe en JS avant d'écrire)

0
assistanteclara Messages postés 2 Date d'inscription dimanche 3 juillet 2022 Statut Membre Dernière intervention 3 juillet 2022
3 juil. 2022 à 22:53
Bonjour @Whismeril

Déjà merci d'avoir pris le temps de répondre à ma demande même si je lis que du code pas en JS.

Pour répondre à tes remarques :
Cela dit, même si je l'avais je ne te la donnerais pas car ceux que tu veux faire n'est pas cohérent.
Déjà ta collections d'années s'appelle liste d'heures...

Tu me parles d'incohérence sur une nomination de variable mais j'aurais pu l'appeler "listcharlie" ou "alpha" ça change rien...

Ensuite ces 2 informations sont liées, donc il serait extrêmement mieux (pour ne pas dire il faut), qu'elle soit stockées ensemble dans une seule collection.
Oui les 2 informations sont liées mais malheureusement ils ne viennent pas de la même source donc impossible de les mettre ensemble.

N'ayant pas la science infuse, je viens demander de l'aide ou des conseils ;-) ;-) ;-)
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
3 juil. 2022 à 23:44
Oui, je ne code pas en JS, mais j'ai une trentaine d'années de recul sur une dizaine de langages (3 que j'ai maitrisé à différentes époques, les autres avec moins d'expertise), et donc ce que je t'ai répondu sont 2 conseils avisés, je pense et qui s'appliquent à tous ces langages que je connais

j'aurais pu l'appeler "listcharlie" ou "alpha" ça change rien...

Pas pour le processeur évidement, le nom de la variable, il ne le voit même pas. L'interpréteur lui envoie l'emplacement mémoire, donc pour lui aucune importance.

Mais pour toi, ça change, le principe même de pouvoir donner un nom à une variable, c'est que cette variable ait un sens clair pour l'humain.
Comme ça moins (pas?) de risque de confusion et/ou de mauvaise utilisation.
Parfois encours de développement (tu serais effarée du nombre de questions sur les forums, dont le problème est lié au fait , mais principalement, 6 mois ou 1 an plus tard quand on doit réaliser une maintenance, ou alors quand plusieurs personnes travaillent sur le code.
Bref, donner un nom fort à une variable est ce qu'on appelle une bonne pratique en informatique, la règle de l'art dans d'autres domaines.

malheureusement ils ne viennent pas de la même source donc impossible de les mettre ensemble.

Ha c'est embêtant, puisque c'est justement ce que tu demandes, les mettre ensemble.....
Là, tu les as bien mises ensemble non?
console.log(listMovies[0]+" : "+listHours[0]" , "listMovies[1]+" : "+listHours[1]" , "listMovies[2]+" : "+listHours[2]" , "listMovies[03]+" : "+listHours[3]" , "listMovies[4]+" : "+listHours[4]);


Ça veut dire, que peu importe d'où viennent ces 2 collections, tu t'es arrangée pour que les informations soient au moins dans le même ordre. Si ça c'est possible, alors tu peux tout aussi bien utiliser une des 3 solutions que je t'ai conseillées.
Plus tu as de cohérence dans ton code et plus c'est simple.
Et une fois que c'est simple, une petite boucle pour l'affichage et c'est bon.

Et sans savoir l'écrire exactement, je suis tout à fait à même de te guider sur l'une ou l'autre (avec l'objet en préférence, mais ça n'est pas évident pour tout le monde)

Maintenant, libre à toi de ne pas en tenir compte et chercher une solution à 2 collections, ça passe aussi par une ou des boucles.

0
J'ai trouvé cette solution, donc voilà je vous la partage

var list =[]
for(var i of listMovies){
list={...list,[i]:
listHours[listMovies.indexOf(i)]}
}
console.log(list);
0
Rejoignez-nous