这段vue的computed内的制造新数组的代码可以简化吗?

computed: {

poolList () {
  const poolList = []
  this.bettingObjectList.forEach(bettingObject => {
    poolList.push(...bettingObject.poolList)
  })
  return poolList
},

}

觉得很繁琐,可以简化吗

阅读 1.3k
1 个回答

当然可以简化,这段逻辑很简单,提取子数组,并压平,传统一点你可以这样写

computed: {
  poolList() {
    return [].concat(...this.bettingObjectList.map(({poolList}) => poolList));
  },
},

当然你也可以更激进一点直接用 Array.prototype.flatMap()

return this.bettingObjectList.flatMap(({poolList}) => poolList);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题