javascript - 如何使用 es6 打印对象内的元素值

标签 javascript arrays reactjs

我有一个对象数组,我想打印每个对象中每个元素的内容,我已经尝试了 this( Render Object properties in React ) 中提供的方法,我得到的只是一个没有其元素的列表值(value)观

state={
  machines: [{
        MachineName: 'A1',
        region: 'west', 
        zones:'west-01',
        ipAddr:'1.1.1.1',
        subnet:'test'}, 
      {
        MachineName: 'A2',
        region: 'west', 
        zones:'west-01',
        ipAddr:'1.1.1.2',
        subnet:'test2'

}]

}
      render() {
const machinespc=this.state.machines.map((value,key)=>{

  return (
    <div>
        <div className="col-md-4" key={key}>
            <div className="dashboard-info">

                {Object.keys(value).map((val, k) => {
                    return (<h4 k={k}>{val}</h4>)
                    })
                }

            </div>
        </div>
    </div>
)

})
  return ( 
{机器spc} )

输出如下,

    MachineName
    region 
    zones
    ipAddr
    subnet 

所以我想要的是打印对象内每个元素的值,如下所示:

     A1
    west
    west-01
    1.1.1.1
    test'}

最佳答案

问题是您正在运行键循环,因此您需要使用该键来获取值,如下所示:

{
    Object.keys(value).map((val, k) => <h4 k={k}>{value[val]}</h4>)
}

或者您可以使用Object.values ,它将返回所有值的数组,如下所示:

{
    Object.values(value).map((val, k) => <h4 k={k}>{val}</h4>)
}

检查这个片段,你会得到更好的想法:

let obj = {a:1, b:2};

console.log("keys array = ", Object.keys(obj));

console.log("values array = ", Object.values(obj));

关于javascript - 如何使用 es6 打印对象内的元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48886987/

相关文章:

javascript - 仅在未设置字符串值时运行,每次都运行

javascript - ajax - 将数据作为 json 发送到 php 服务器并接收响应

php - 从常规数组创建多维数组

javascript - React Container - 从任一 reducer 访问状态

javascript - 如何添加图片? ( react native )

c - 字符串数组上的基本 qsort 在 qsort() 中崩溃

c - 从函数返回数组/指针

javascript - 如何解决 Component should be written as a pure function error in eslint-react?

reactjs - Material-UI 数据网格 - 按日期和 UNIX 时间戳过滤

javascript - jQuery Masonry 与 JavaScript 生成的 HTML 不起作用