J'essaie d'implémenter un graphique dans mon site Web (FusionCharts), je ne veux pas définir manuellement chaque barre. Existe-t-il un moyen d'implémenter une boucle for ici? (pour (i = 1; i <= 11; i ++) Mon problème est le '{' & '},'

L'exemple FusionCharts est le suivant

    "data": [{
        "label": "Jan",
        "value": "420000"
    }, {
        "label": "Feb",
        "value": "810000"
    }, {
        "label": "Mar",
        "value": "720000"
    }, {
        "label": "Apr",
        "value": "550000"
    }, {
        "label": "May",
        "value": "910000"
    }, {
        "label": "Jun",
        "value": "510000"
    }, {
        "label": "Jul",
        "value": "680000"
    }]
}
}
);

Ma seule solution était d'avoir ce qui suit dans la boucle for, mais cela ne fonctionnera bien sûr pas avec les crochets.

     {
        "label": "xxxx",
        "value": "xxxxx"
    },

...

    for (i=1; i<=11; i==) 
     {

        {
        "label": "xxxx",
        "value": "xxxxx"
    },

     }

Je me rends compte que je suis probablement stupide dans cette situation, donc merci pour tout conseil

-2
Hydralore 9 août 2016 à 20:02

4 réponses

Meilleure réponse

Dans votre boucle, vous pouvez écrire

data.push({
    "label": "xxxx",
    "value": "xxxxx"
});
2
Danny Buonocore 9 août 2016 à 17:04
var rawData = ''; 
for(var i = 0; i <= 2; i++){    
        rawData = rawData.concat('{"label": "'+ ( i + 2 ) +'","value": "'+     i +'"},');
}
rawData = rawData.substring(0, rawData.length - 1);
rawData = '{"data"\: ['.concat(rawData , ']}');
var finalData = JSON.parse(rawData);
0
VKD 9 août 2016 à 18:10

mais cela ne fonctionnera bien sûr pas avec les crochets.

Ce sera:

for (i=1; i<=11; i++) 
{
    data.push({
        "label": "xxxx",
        "value": "xxxxx"
   });
}

... mais vous devez toujours obtenir l'étiquette et la valeur quelque part.


Note latérale: N'oubliez pas de déclarer i, de peur que vous ne deveniez la proie de L'horreur des globaux implicites .

0
T.J. Crowder 9 août 2016 à 17:06

... selon votre format requis, vous pouvez jouer comme ci-dessous;

let data = [{
        "label": "Jan",
        "value": "420000"
    }, {
        "label": "Feb",
        "value": "810000"
    }, {
        "label": "Mar",
        "value": "720000"
    }, {
        "label": "Apr",
        "value": "550000"
    }, {
        "label": "May",
        "value": "910000"
    }, {
        "label": "Jun",
        "value": "510000"
    }, {
        "label": "Jul",
        "value": "680000"
    }];


var arr =[];
var arr2 =[];

data.forEach( (obj) => {
  console.log(obj.label, obj.value);
  let ttlArrOpt1 = arr.push(obj.label, obj.value);
  // or option 2:
  let ttlArrOpt2 = arr2.push(obj.label + " = " + obj.value)

}
);
console.log(arr);
console.log(arr2);

let arrOpt2 = arr.join('/');
console.log(arrOpt2)
0
iPhrank 9 août 2016 à 17:37