如何从地图功能中的对象获取密钥?

时间:2019-05-26 00:48:23

标签: javascript arrays reactjs object ecmascript-6

如何从

中的对象获取密钥
{this.state.data.map((object, index) => (
      <div>object.key</div>

    ))}

例如,如果this.state.data是

 [{mykey1:23},{mykey2:24},{mykey3:34}]

我希望它返回

 <div>mykey1</div>
 <div>mykey2</div>
 <div>mykey3</div>

2 个答案:

答案 0 :(得分:2)

使用Object.keys()

{this.state.data.map(obj => <div>{Object.keys(obj)[0]}</div>)}

答案 1 :(得分:0)

您没有对要渲染的值进行插值。您必须将要评估的值放在大括号内,以便从状态/道具中呈现它们。 尽管我假设您的示例输入过于匆忙,但这并不是为什么此示例对您不起作用的原因。 要获得在对象中定义的键,您将必须使用Object.keys()返回包含所有键的字符串数组。然后,您可以遍历结果数组并在JSX视图中呈现它们。

以下是一个有用的小提琴供您参考: https://jsfiddle.net/2q19rpaz/

let data = [{mykey1:23},{mykey2:24},{mykey3:34, mykey4:34}];
return data.map((object, index) => {
    return Object.keys(object).map((key, index) => {
        return (<div>{key}</div>);
    })
})