【问题标题】:How to get key from object in map function?如何从地图函数中的对象获取密钥?
【发布时间】:2019-10-12 01:42:16
【问题描述】:

如何从对象中获取密钥

{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>

【问题讨论】:

  • 键名真的是你想要的而不是值吗? (例如,&lt;div&gt;23&lt;/div&gt;
  • 是的,我想要密钥名称

标签: javascript arrays reactjs object ecmascript-6


【解决方案1】:

使用Object.keys():

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

【讨论】:

  • 我相信它不是一个对象而是一个对象数组,因此它会返回数组索引["0", "1", "2"],而不是键
【解决方案2】:

您没有插入要渲染的值。您必须将要评估的值放在大括号中,以便从您的状态/道具中呈现它们。 尽管我假设您的示例是匆忙输入的,但这并不是这对您不起作用的原因。 要获取在对象中定义的键,您必须使用 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>);
    })
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 2016-08-11
    • 2021-07-26
    • 1970-01-01
    相关资源
    最近更新 更多