Javascript 如何使用for循环创建多维对象?
我有一个这样的循环:Javascript 如何使用for循环创建多维对象?,javascript,Javascript,我有一个这样的循环: for (var i = 0; i <= details.length; i++){ temp.push({"name": details[i].name, "value": details[i].value}); } [{"name":abc,"value":1},{"name":abc,"value":2},{"name":abc,"value":3},{"name":bcd,"value":4}] 但是我的数据有一些重复的名字。我希望我的结果是: [
for (var i = 0; i <= details.length; i++){
temp.push({"name": details[i].name, "value": details[i].value});
}
[{"name":abc,"value":1},{"name":abc,"value":2},{"name":abc,"value":3},{"name":bcd,"value":4}]
但是我的数据有一些重复的名字。我希望我的结果是:
[{"abc": [{"name": "abc", "value": 1}, {"name": "abc", "value":2}, {"name": "abc", "value":3}],}, "bcd
等等。有人能告诉我怎么做吗?以下是您需要的:
var temp = new Object();
for (var i=0; i<=details.length;i++){
if(temp[details[i].name] === undefined){
temp[details[i].name] = new Array();
}
temp[details[i].name].push({"name":details[i].name,"value":details[i].value});
}
var temp=new Object();
对于(var i=0;i重新编辑:
for(var i = 0; i < jsondata.length; i++)
{
console.log("Name is: " + jsondata[i].name);
for(var j = 0; j < jsondata[i].values.length; j++)
{
console.log("For name '" + jsondata[i].name + "', value is: " + jsondata[i].values[j]);
}
}
json结构中有大量冗余信息
以下是我对json结构的建议:
var jsondata = [
{
"name" : "abc",
"values" : [ 1, 2, 3 ]
},
{
"name" : "bdc",
"values" : [ 1, 2, 3 ]
}
];
也请阅读:
for(var i = 0; i < jsondata.length; i++)
{
console.log("Name is: " + jsondata[i].name);
for(var j = 0; j < jsondata[i].values.length; j++)
{
console.log("For name '" + jsondata[i].name + "', value is: " + jsondata[i].values[j]);
}
}
for(var i=0;i
也创建它
var output = [];
for (var i=0; i<=details.length; i++){
var isFound = false;
for(var j = 0; j < output.length; j++)
{
if (output[j].name == details[i].name)
{
output[j].values.push(details[i].value);
isFound = true;
break;
}
}
if (isFound == false)
{
output.push({ "name" : details[i].name, "values" : [ details[i].value ] });
}
}
var输出=[];
对于(var i=0;它将不起作用,因为您使用新值多次覆盖同一命名索引。键入:details。length
应该是details。length
请给我初始数组的详细信息。我可以修复它,但没有详细信息,我正在工作。您能否提供详细信息中的数据示例。该代码无效。temp。推送{..}?