首页 > 解决方案 > 从嵌套对象创建对象数组

问题描述

我有一个嵌套对象“empData”。我需要遍历对象中的每个键并返回一个对象数组。我的对象“empData”中的每个键又是一个对象。

现在,我需要返回一个对象数组:

预期输出:

[{
 "team": "AUS",
 "name": "John"
}, {
 "team": "CAN",
 "name": "Steve"
}, {
 "team": "IND",
 "name": "Robbie"
}, {
 "team": "IRE",
 "name": "James"
}, {
 "team": "USA",
 "name": "Austin"
}];

我的代码:

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: eachKey.name
  };
  console.log(obj);
  return obj;
 });
}
<button onclick="getData()">Get Data</button>

有人可以帮我吗?

标签: javascriptarraysloopsobjectnested

解决方案


改变 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;
 });
}

推荐阅读