所以我遇到了一个Object的问题,我试图从数组中获取密钥。这是下图中的对象
{
"archive": null,
"branchs_id" : "5",
"code": "12344"
}
当我尝试仅将密钥作为带Object.keys(object)
的数组时,它返回一个键列表但不是数组而是对象。我该怎么办?我真的需要这个数组
let firstObject = response[objecType + 's'][0];
__this.setState({ attributes: Object.keys(firstObject)}, () => {
__this.forceUpdate();
});
我不能。在这里通过my.state.attributes映射,因为它是一个对象而不是一个数组
答案 0 :(得分:0)
我希望它会有所帮助。
for (var key in bookMarks) {
console.log(bookMarks[key])
}
答案 1 :(得分:0)
你的意思是这不起作用?
var obj = {archive: null, branchs_id: '5', code: '12344'};
console.log(Object.keys(obj)); // ["archive", "branchs_id", "code"]
它似乎按预期工作。
答案 2 :(得分:0)
如果你需要数组类型的结构,那么你可以使用这个代码,在状态中你也可以使用 -
[obj].forEach(function(val) { console.log(val) });
答案 3 :(得分:0)
Object.keys
不会返回对象。我认为您在异步this.state.attributes
完成之前尝试访问setState
。在console.log(this.state.attributes)
回调中尝试setState
,看看它是对象还是数组..