JS循环问题

时间:2017-12-03 08:59:54

标签: javascript

我猜一个简单的javascript问题, 但我不知道怎么做 这是我的剧本:

var datasetValue = [];
var count = 3;
for (var j=0; j<count; j++) {
    datasetValue[j] = {
        fillColor: 'rgba(220,220,220,0.5)',
        strokeColor :'rgba(220,220,220,1)',
        title :'2013',
        data : [Math.round(Math.random() * 100),Math.round(Math.random() * 100)-10]
    };
}

var mydata = {
    datasets : datasetValue
};

alert("Datasets: mydata.datasets[0].data);

所以这里的输出将是两个随机数 但是我希望输出看起来像是:

datasets: [{
            fillColor: 'rgba(220,220,220,0.5)',
            strokeColor :'rgba(220,220,220,1)',
            title :'2013',
            data : 35,25,
           },
           {
           fillColor: 'rgba(220,220,220,0.5)',
            strokeColor :'rgba(220,220,220,1)',
            title :'2013',
            data : 12,02,
           },
           fillColor: 'rgba(220,220,220,0.5)',
            strokeColor :'rgba(220,220,220,1)',
            title :'2013',
            data : 38,28,
           },
           }];

换句话说,我希望输出是基于计数值的datasetValue;

有人能帮我一把吗?

3 个答案:

答案 0 :(得分:1)

要循环显示三个条目,您需要将比较运算符更改为小于或等于<=

&#13;
&#13;
var datasetValue = [];
var count = 2;
for (var j=0; j<=count; j++) {
    datasetValue[j] = {
        fillColor: 'rgba(220,220,220,0.5)',
        strokeColor :'rgba(220,220,220,1)',
        title :'2013',
        data : [Math.round(Math.random() * 100),Math.round(Math.random() * 100)-10]
    };
}

var mydata = {
    datasets : datasetValue
};

document.write(JSON.stringify(datasetValue));

alert("Datasets: "+mydata.datasets[0].data);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我希望明白你的意思!

更改:datasetValue[j] = { ... }

这一个:datasetValue.push({...});

答案 2 :(得分:0)

我认为以下代码足以低估

var commonData =  {
        fillColor: 'rgba(220,220,220,0.5)',
        strokeColor :'rgba(220,220,220,1)',
        title :'2013'
      }
var datasetValue = [];
var count = 2;
for (var j=0; j<count; j++) {
    var rand = Math.round(Math.random() * 100)
    commonData.data = [rand, rand-10]
    datasetValue.push(commonData)
  }

var mydata = {
    datasets : datasetValue
};
alert("Datasets:"+ JSON.stringify(mydata.datasets[0].data));
// or use console.log , is better debugging 
console.log("Datasets:",mydata.datasets[0].data )