Object.keys()返回对象

时间:2018-03-30 05:08:18

标签: javascript arrays object

所以我遇到了一个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映射,因为它是一个对象而不是一个数组

4 个答案:

答案 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,看看它是对象还是数组..