【发布时间】:2020-06-05 05:40:06
【问题描述】:
我是初学者,试图从我的 API 调用中迭代子对象以从键值对中获取键。因此,从下面的状态示例中,我希望能够打印“id”、“name”和“email”(并最终使用这些来填充 ReactTable 中的“headers”和“accessors”以自动生成我的列。这个现在可能超出了我的问题范围)。
state = {
data: [
{"id": 1,
"name": "John",
"email": "john@test.com"
},
{"id": 2,
"name": "Alex",
"email": "alex@test.com"
},
{"id": 3,
"name": "Sam",
"email": "sam@test.com"
},
{"id": 4,
"name": "Jess",
"email": "Jess@test.com"
}
]
}
我所有对象的键都是相同的(例如 ID、姓名、电子邮件)。但是,我只能获取数据中每个子对象的父键。在我的例子中,父键恰好是我数组中对象的索引值。所以对于上面显示的 4 个对象,我的 console.log 输出将只是一个 ["0", "1", "2", "3"] 的数组,因为有 4 个对象。相反,我想获得 ["id", "name", "email"]。我的代码如下。我愿意添加另一个嵌套循环来访问子组件,但无论我做什么都会破坏代码。
getKeys = () => {
var keysArr = []
var i;
for (i = 0; i < 1; i++) { // i < 1 because I only need to access the keys from a single object
keysArr.push(Object.keys(this.props.data.children)); // The '.children' breaks my code but it is to show that I would like to access the child objects
}
console.log(keysArr)
}
任何帮助编辑我的代码或建议一种新方法将不胜感激!
【问题讨论】:
标签: javascript arrays json reactjs key