Système de compteur avec l'indice des valeurs d'une liste

Fermé
Arthur - 14 mars 2023 à 08:39
jordane45 Messages postés 38197 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 mai 2024 - 14 mars 2023 à 08:48

Bonjour,

je souhaiterai pouvoir accumuler des valeurs et créer un système de compteur.

Comme vous le verrez j'aimerai pouvoir faire en sorte que les variables courage, ambition ... s'incrémente en leur ajoutant stat_inconnu[j][0] par exemple. Les variables courage, ambition... sont de type de "number" tous comme "stat_inconnu" cependant lorsque j'affiche la nouvelle valeur de courage incrémenté, cela m'affiche "NaN".

Je ne comprends pas pourquoi en additionnant deux nombres je n'obtient pas le résultat.

Merci d'avance. 

var i = 0

var stat_inconnu = []

var courage = 5
var ambition = 5
var intelligence = 5
var bonté = 5

function incrémente() {
    var buttons = document.getElementsByTagName("a");
    for (let index = 0; index < buttons.length; index++) {
        buttons[index].onclick = function () {
        var id_rep = this.id;
        data_globale.then((value) => {
        i = i + 1;
        const ligne_question_rep = value[i].split(";")
        const ligne_pts = value[i-1].split(";")

        var question = document.getElementById("question").innerHTML = ligne_question_rep[0];
        var réponse_1 = document.getElementById("réponse_1").innerHTML = ligne_question_rep[1];
        var réponse_2 = document.getElementById("réponse_2").innerHTML = ligne_question_rep[2];
        var réponse_3 = document.getElementById("réponse_3").innerHTML = ligne_question_rep[3];

        var points_1 = ligne_pts[4].split(",");
        var points_2 =  ligne_pts[5].split(",");
        var points_3 =  ligne_pts[6].split(",");

        if (id_rep == "réponse_1") {
            var int_points_1 = points_1.map(function(str) {
                return parseInt(str); });
            stat_inconnu.push(int_points_1)
        } else if (id_rep == "réponse_2") {
            var int_points_2 = points_2.map(function(str) {
                return parseInt(str); });
            stat_inconnu.push(int_points_2)
        } else if (id_rep == "réponse_3") {
            var int_points_3 = points_3.map(function(str) {
                return parseInt(str); });
            stat_inconnu.push(int_points_3)
        }
        for (let j in stat_inconnu) {
            console.log(typeof stat_inconnu[j][0])
            console.log(typeof courage)
            courage += stat_inconnu[j][0]; 
            ambition += stat_inconnu[j][1];
            intelligence += stat_inconnu[j][2];
            bonté += stat_inconnu[j][3];
        }
            console.log(courage)
            console.log(ambition)
            console.log(intelligence)
            console.log(bonté)
            });

         }
        }
        
}

async function csvFile() {
    const response = await fetch('Question.csv');
    const data = await response.text();
    const table = data.split('\n');
    return table
       }

data_globale = csvFile();




Windows / Chrome 111.0.0.0

1 réponse

jordane45 Messages postés 38197 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 mai 2024 4 675
14 mars 2023 à 08:48

Bonjour,

Sans aller plus loin .....   

Si tu mets un return ..  ce qui se trouve après n'est pas exécuté


0