Javascript 循环访问嵌套对象并创建 Select 下拉列表和对象列表
Javascript Loop and Access Nested Object and Create Select Dropdown and Lists of Objects
我有这个 javascript 对象 data
通过。我想为 "Object One" 和 "Object Two" 创建一个 select 下拉列表,并在 DOM 上显示列表,如下所示:VW、Red、GTI、2018 等等将它们分组在 "Object One" 或 "Object Two" 下,以便可以通过 select 下拉列表相应地显示。
但是,由于递归,我很难循环访问它们。我是新手 Javascript.
var data =
{
"object": {"object": "sometext"},
"group": {
"Object One": {
"VW": {
"color":"red",
"model":"GTI",
"year":"2018"
},
"Audi": {
"color":"black",
"model":"Q5",
"year":"2017"
}
},
"Object Two": {
"Toyota": {
"color":"silver",
"model":"Fit",
"year":"2017"
},
"Nissan": {
"color":"Red",
"model":"Cube",
"year":"2018"
}
}
}
};
Output should be:
[Object One] -- Shows the lists below accordingly
//Lists for Object One//
VW red GTI 2018
Audi black Q5 2017
希望对您有所帮助。请稍微清除一下代码。
const data =
{
"object": {"object": "sometext"},
"group": {
"Object One": {
"VW": {
"color":"red",
"model":"GTI",
"year":"2018"
},
"Audi": {
"color":"black",
"model":"Q5",
"year":"2017"
}
},
"Object Two": {
"Toyota": {
"color":"silver",
"model":"Fit",
"year":"2017"
},
"Nissan": {
"color":"Red",
"model":"Cube",
"year":"2018"
}
}
}
};
function transferData(data) {
let string = '';
Object.keys(data.group).forEach(groupName => {
string += `[${groupName}] -- Shows the lists below accordingly\n`;
Object.keys(data.group[groupName]).forEach(brand => {
string += `${brand} ${data.group[groupName][brand].color} ${data.group[groupName][brand].model} ${data.group[groupName][brand].year} \n`
});
});
return string;
}
console.log(transferData(data));
我有这个 javascript 对象 data
通过。我想为 "Object One" 和 "Object Two" 创建一个 select 下拉列表,并在 DOM 上显示列表,如下所示:VW、Red、GTI、2018 等等将它们分组在 "Object One" 或 "Object Two" 下,以便可以通过 select 下拉列表相应地显示。
但是,由于递归,我很难循环访问它们。我是新手 Javascript.
var data =
{
"object": {"object": "sometext"},
"group": {
"Object One": {
"VW": {
"color":"red",
"model":"GTI",
"year":"2018"
},
"Audi": {
"color":"black",
"model":"Q5",
"year":"2017"
}
},
"Object Two": {
"Toyota": {
"color":"silver",
"model":"Fit",
"year":"2017"
},
"Nissan": {
"color":"Red",
"model":"Cube",
"year":"2018"
}
}
}
};
Output should be:
[Object One] -- Shows the lists below accordingly
//Lists for Object One//
VW red GTI 2018
Audi black Q5 2017
希望对您有所帮助。请稍微清除一下代码。
const data =
{
"object": {"object": "sometext"},
"group": {
"Object One": {
"VW": {
"color":"red",
"model":"GTI",
"year":"2018"
},
"Audi": {
"color":"black",
"model":"Q5",
"year":"2017"
}
},
"Object Two": {
"Toyota": {
"color":"silver",
"model":"Fit",
"year":"2017"
},
"Nissan": {
"color":"Red",
"model":"Cube",
"year":"2018"
}
}
}
};
function transferData(data) {
let string = '';
Object.keys(data.group).forEach(groupName => {
string += `[${groupName}] -- Shows the lists below accordingly\n`;
Object.keys(data.group[groupName]).forEach(brand => {
string += `${brand} ${data.group[groupName][brand].color} ${data.group[groupName][brand].model} ${data.group[groupName][brand].year} \n`
});
});
return string;
}
console.log(transferData(data));