Javascript 使用“循环-仅最后添加的值”添加所有对象
我想做的是得到一个输出,它看起来像是一把小提琴,上面有4块油炸圈饼图 不幸的是,我在这里“作弊”,因为我写道:Javascript 使用“循环-仅最后添加的值”添加所有对象,javascript,loops,Javascript,Loops,我想做的是得到一个输出,它看起来像是一把小提琴,上面有4块油炸圈饼图 不幸的是,我在这里“作弊”,因为我写道: {label : featureSet.features[0].attributes['STATE_NAME'] ,value : featureSet.features[0].attributes['MED_AGE']}, {label : featureSet.features[1].attributes['STATE_NAME'] ,value : featureSet.fea
{label : featureSet.features[0].attributes['STATE_NAME'] ,value : featureSet.features[0].attributes['MED_AGE']},
{label : featureSet.features[1].attributes['STATE_NAME'] ,value : featureSet.features[1].attributes['MED_AGE']},
{label : featureSet.features[2].attributes['STATE_NAME'] ,value : featureSet.features[2].attributes['MED_AGE']},
{label : featureSet.features[3].attributes['STATE_NAME'] ,value : featureSet.features[3].attributes['MED_AGE']}
我认为通过编写如下代码,可以正确返回所有输出:
var data = [];
for (var i=0; i<featureSet.features.length;i++)
{
// Create new row/output object ..
var output = {label : featureSet.features[i].attributes['STATE_NAME'],
value : featureSet.features[i].attributes['MED_AGE']};
// .. and then store the created object in an array
data.push(output);
}
Morris.Donut({
element: 'donut-example',
// Use created array
data: data
});
看起来像是用
{label : featureSet.features[i].attributes['STATE_NAME'] ,value : featureSet.features[i].attributes['MED_AGE']}
将在我的案例0-3中循环,但使用最后[3]输出,因此整个油炸圈饼图由一个州和年龄中位数表示
我想知道如何做到这一点,这样我就不必为每个[I]键入内容。当前代码是:
for (var i=0; i<featureSet.features.length;i++)
{
// Each loop re-assigns a new object to the SAME variable
// which overwrites the previous value ..
output = {label : featureSet.features[i].attributes['STATE_NAME'],
value : featureSet.features[i].attributes['MED_AGE']};
console.log(output);
}
// Only the CURRENT (LAST) value assigned to the output variable
// inside the loop is used to create an array of one element.
Morris.Donut({
element: 'donut-example',
data: [output]
});
(变量i=0;i)的