我猜一个简单的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;
有人能帮我一把吗?
答案 0 :(得分:1)
要循环显示三个条目,您需要将比较运算符更改为小于或等于<=
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;
答案 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 )