Javascript 从嵌套对象创建对象数组
我有一个嵌套对象“empData”。 我需要迭代对象中的每个键并返回一个对象数组。 我的对象“empData”中的每个键也是一个对象 现在,我需要返回一个对象数组,如下所示: 预期产出:Javascript 从嵌套对象创建对象数组,javascript,arrays,loops,object,nested,Javascript,Arrays,Loops,Object,Nested,我有一个嵌套对象“empData”。 我需要迭代对象中的每个键并返回一个对象数组。 我的对象“empData”中的每个键也是一个对象 现在,我需要返回一个对象数组,如下所示: 预期产出: [{ "team": "AUS", "name": "John" }, { "team": "CAN", "name": "Steve" }, { "team": "IND", "name": "Robbie" }, { "team": "IRE", "name": "James" }, {
[{
"team": "AUS",
"name": "John"
}, {
"team": "CAN",
"name": "Steve"
}, {
"team": "IND",
"name": "Robbie"
}, {
"team": "IRE",
"name": "James"
}, {
"team": "USA",
"name": "Austin"
}];
我的代码:
函数getData(){
常数empData={
“澳大利亚”:{
“isRetired”:没错,
“姓名”:“约翰”
},
“可以”:{
“姓名”:“史蒂夫”
},
“IND”:{
“姓名”:“Robbie”
},
“怒火”:{
“姓名”:“詹姆斯”
},
“美国”:{
“姓名”:“奥斯汀”
}
};
Object.keys(empData).map(函数(eachKey){
常量对象={
团队:每个人,
姓名:eachKey.name
};
控制台日志(obj);
返回obj;
});
}
Get Data
您可以使用Object.entries
将对象转换为数组。使用map
在阵列中循环
Object.entries
第一个元素是键,第二个是值
const empData={
“澳大利亚”:{
“isRetired”:没错,
“姓名”:“约翰”
},
“可以”:{
“姓名”:“史蒂夫”
},
“IND”:{
“姓名”:“Robbie”
},
“怒火”:{
“姓名”:“詹姆斯”
},
“美国”:{
“姓名”:“奥斯汀”
}
};
var result=Object.entries(empData.map)([team,{name}])=>({team,name}));
控制台日志(结果)
.map
对象。条目,因此您可以同时提取键(以获取团队
)和值(以获取名称
):
const empData={
“澳大利亚”:{
“isRetired”:没错,
“姓名”:“约翰”
},
“可以”:{
“姓名”:“史蒂夫”
},
“IND”:{
“姓名”:“Robbie”
},
“怒火”:{
“姓名”:“詹姆斯”
},
“美国”:{
“姓名”:“奥斯汀”
}
};
常量getData=()=>{
const result=Object.entries(empData.map)([team,{name}])=>({
团队
名称
}));
控制台日志(结果);
};
获取数据
更改名称:eachKey.name
name: empData[eachKey].name
function getData() {
const empData = {
"AUS": {
"isRetired": true,
"name": "John"
},
"CAN": {
"name": "Steve"
},
"IND": {
"name": "Robbie"
},
"IRE": {
"name": "James"
},
"USA": {
"name": "Austin"
}
};
Object.keys(empData).map(function(eachKey) {
const obj = {
team: eachKey,
name: empData[eachKey].name
};
console.log(obj);
return obj;
});
}
您可以在中使用for..来迭代对象,并使用相关键和值创建一个新对象,然后推送到另一个数组 函数getData(){ 常数empData={ “澳大利亚”:{ “isRetired”:没错, “姓名”:“约翰” }, “可以”:{ “姓名”:“史蒂夫” }, “IND”:{ “姓名”:“Robbie” }, “怒火”:{ “姓名”:“詹姆斯” }, “美国”:{ “姓名”:“奥斯汀” } }; 设newData=[]; for(让键进入empData){ newData.push({ 团队:钥匙, 名称:empData[keys]。名称 }) } console.log(newData) } getData()