以下代码循环遍历一个Object数组,使用_.find查找特定类别的对象并将其推入panoramaCats数组:

this.panoramas.forEach(panorama => {
  const panoramaCat = _.find(this.panoramas, { category: panorama.category })
  const panoramaCats = []
  panoramaCats.push(panoramaCat)
  payload[panorama.category] = panoramaCats
})


我以为_.find会找到所有具有该类别的对象,但它只会找到第一个。

如何更改代码,以便_.find查找具有该类别的所有对象?

最佳答案

使用._matches查找符合您条件的对象。

this.panoramas.forEach(panorama => {
  const panoramaCats = _.find(this.panoramas, _.matches({ category: panorama.category }))
  payload[panorama.category] = panoramaCats
})

09-19 00:34