首页 > 解决方案 > 如何像参数一样在数组中使用 .map() 数组?

问题描述

我的咨询返回一个 json 对象,数组内有数组...我console.log是这样的:

item1: false
item2: 999
item3: Array(3)
          0: {id: 1589, data: "..."}
          1: {id: 1587, data: "..."}

我需要获取item3数组并像参数一样传递,所以我试了一下:

componentDidMount() {
   //... 
  this.myFunction(myJson.item3.map(content => content.id))     
}

myFunction = id => {
   //something....
}

但是,我的content变量像“未定义”一样返回。

我尝试使用不同的方法来做到这一点,但没有成功。

我做错了什么?

如何获取map()我的数组item3并像参数一样传递给myFunction

标签: javascriptarraysreactjsecmascript-6

解决方案


我想你想要更像这样的东西:

componentDidMount() {
   //... 
  myJson.item3.map(content => this.myFunction(content.id))     
}

myFunction = id => {
   //something....
}

您在代码中所做的是映射数组,然后什么也不做。然后调用未定义的 myFunction ,因为地图从不返回任何内容。您想要做的是将函数映射到数组中的每个项目以获取 id。因此,您将调用 map,然后在 map 中为每个项目调用 myFunction。


推荐阅读