如何在React JS中使用自定义索引映射数组

时间:2018-06-04 06:16:17

标签: reactjs

我有一个状态值为

的数组
constructor {
    super(props);
    this.state = {
        staff: {
                pos1: { name:'Ajith'}
                pos2: { name:'Ben'}
              }
    }
}
componentDidMount() {
    this.state.staff.map((item,index) => {
        console.log(item+" * "+index)
    }
}

我收到错误this.state.staff.map is not a function,因为索引不是0, 1 etc。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

因为staffObject而不是Array,因此您无法映射staff。但你可以试试这个

Object.key(this.state.staff).map((key, index) => { const item = this.state.staff[key] console.log(item+" * "+index) })

答案 1 :(得分:0)

根据您的问题,这里有很多事情需要注意,

工作人员不是数组,因此您无法使用地图,为了使用地图,您需要对象。键。

此外,您在员工价值部分中缺少逗号。

       staff:  {
            pos1: { name:'Ajith'},
            pos2: { name:'Ben'}
          }

使用地图:

  Object.keys(staff).map((data) => staff[data].name )

It will return the output as:

["Ajith", "Ben"]