为了账号安全,请及时绑定邮箱和手机立即绑定

map与forEach的嵌套遍历,如何返回一个数组?

map与forEach的嵌套遍历,如何返回一个数组?

尚方宝剑之说 2018-11-08 14:13:33
应用场景一个表格的过滤筛选,可能涉及多个筛选条件,this.filter里面存的是所有筛选条件的v-model状态的一个对象,this.tableData是从后端获取的所有原始表格数据的数组,this.filteredTableData是过滤后的表格数据的数组。代码    filterTableData() {      this.filteredTableData = this.tableData.map((item, index) => {        Object.keys(this.filter).forEach(key => {          if (this.filter[key] && item[key] && item[key] === this.filter[key]) {            console.log(item)            return item          }        })      })      console.log(this.filteredTableData)      // this.paginateTableData()    },问题这样写,会使得第二个console.log(this.filteredTableData)拿到一个全部是undefined的数组。这样的错误应该是因为forEach没法用return 跳出循环。所以我想知道:在使用map 且map内部最好不使用变量(使用也行吧,只是担心性能)的情况下,如何实现这个函数?如果this.filteredTableData的数据量特别大,有没有什么更好的办法?
查看完整描述

1 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

直接用 [].filter 啊...


查看完整回答
反对 回复 2018-12-11
  • 1 回答
  • 0 关注
  • 521 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信