遍历对象的JavaScript

遍历对象的JavaScript,javascript,reactjs,firebase,firebase-realtime-database,Javascript,Reactjs,Firebase,Firebase Realtime Database,我刚开始使用Firebase,在遍历数据库对象(即JSON)时遇到了问题 下面是一个示例数据 const _ = require ('underscore'); var data ={ "posts": { "-JRHTHaIs-jNPLXOQivY": { "author": "gracehop", "title": "Announcing COBOL, a New Programming Language" }, "-JRHTHaKuITF

我刚开始使用Firebase,在遍历数据库对象(即JSON)时遇到了问题

下面是一个示例数据

const _ = require ('underscore');
var data ={
  "posts": {
    "-JRHTHaIs-jNPLXOQivY": {
      "author": "gracehop",
      "title": "Announcing COBOL, a New Programming Language"
    },
    "-JRHTHaKuITFIhnj02kE": {
      "author": "alanisawesome",
      "title": "The Turing Machine"
    }
  }
}
我试图在表格中显示它,例如:

return <table>
    <tr>
        <td>author</td>
        <td>title</td>
    </tr>
    {data.map(k=>{
    return <tr key={k}>
        <td>{k.author}</td>
        <td>{k.title}</td>
    </tr>
    }).bind(this)}
</table>
代码起作用了。但是,Object.map似乎不适用于文本值


我想知道遍历这些数据的最佳方法。我曾尝试使用下划线的mapObject特性forEach,但很难找到合适的文档来迭代这些数据。任何对此表示赞赏的建议都将受到高度赞赏。

map
是一种数组方法;你拥有的是一个物体。您可以使用
Object.values(data)
以数组的形式获取对象的值,这样您就可以执行
Object.values(data).map


如果由于浏览器兼容性问题而无法使用
Object.values
,则还可以使用
Object.keys(数据)
获取一组键。然后,您可以执行
map
来检索每个值,比如
Object.keys(data).map(key=>data[key])
,最终得到所需的值数组。

是否使用某种HTML预处理器?这不是你声明一个
@4castle的方式,我怀疑他在使用React,这是Javascript代码在JSX中转义的方式。它不是转义的-\ux-你可以用任何词来描述它,我的意思是你可以停止编写XML,重新开始编写Javascript。实际上,我在使用React,我只是复制了一些相关的代码片段。
const _ = require ('underscore');
var data ={
  0: {
    "-JRHTHaIs-jNPLXOQivY": {
      "author": "gracehop",
      "title": "Announcing COBOL, a New Programming Language"
    },
    1: {
      "author": "alanisawesome",
      "title": "The Turing Machine"
    }
  }
}