Javascript 使用for循环创建json时感到困惑
我试图通过循环获取的数据来创建json,这里的问题是我能够正确获取值,但是对于键,它们并没有按照预期填充。这是我的密码Javascript 使用for循环创建json时感到困惑,javascript,json,Javascript,Json,我试图通过循环获取的数据来创建json,这里的问题是我能够正确获取值,但是对于键,它们并没有按照预期填充。这是我的密码 var item = [{ "max": "0.575", "ingredients": "a", }, { "max": "10.25", "ingredients": "b" }, { "max": "98.5", "ingredients": "c", }]; var valuesForChart = { data: [] };
var item = [{
"max": "0.575",
"ingredients": "a",
}, {
"max": "10.25",
"ingredients": "b"
}, {
"max": "98.5",
"ingredients": "c",
}];
var valuesForChart = {
data: []
};
item.forEach(function(subItem) {
var names = subItem.ingredients;
var level = subItem.max;
valuesForChart.data.push({
names: level
});
});
document.getElementById("x").innerHTML=JSON.stringify(valuesForChart);
这里项
从我的数据库返回。当我运行它时,我得到如下输出
{"data":[{"names":"0.575"},{"names":"10.25"},{"names":"98.5"}]}
但我的预期产出是
{"data":[{"a":"0.575"},{"b":"10.25"},{"c":"98.5"}]}
我很困惑我到底错在哪里。请让我知道如何修复此问题
这是一把小提琴
谢谢您需要使用
[names]
当您在对象的属性声明中使用[]
表示法时,它将获得一个表达式并将该表达式的值设置为属性名称。因此,名称不仅仅是名称
,而是名称
下的内容
var项=[
{“max”:“0.575”,“成分”:“a”},
{“最大”:“10.25”,“成分”:“b”},
{“max”:“98.5”,“成分”:“c”}
];
var值forchart={
数据:[]
};
项目.forEach(功能(子项目){
变量名称=子项。成分;
变量级别=子项.max;
值forchart.data.push({
[名称]:级别
});
});
console.log(valuesForChart)代码>您需要使用[names]
当您在对象的属性声明中使用[]
表示法时,它将获得一个表达式并将该表达式的值设置为属性名称。因此,名称不仅仅是名称
,而是名称
下的内容
var项=[
{“max”:“0.575”,“成分”:“a”},
{“最大”:“10.25”,“成分”:“b”},
{“max”:“98.5”,“成分”:“c”}
];
var值forchart={
数据:[]
};
项目.forEach(功能(子项目){
变量名称=子项。成分;
变量级别=子项.max;
值forchart.data.push({
[名称]:级别
});
});
console.log(valuesForChart)代码>谢谢Suren这一切正常,你能告诉我这里发生了什么吗?@User387294 UpdatedHanks Suren这一切正常,你能告诉我这里发生了什么吗?@User387294 Updated可能重复的可能重复的