Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用for循环创建json时感到困惑_Javascript_Json - Fatal编程技术网

Javascript 使用for循环创建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: [] };

我试图通过循环获取的数据来创建json,这里的问题是我能够正确获取值,但是对于键,它们并没有按照预期填充。这是我的密码

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可能重复的可能重复的