关于javascript:filter-find的筛选

11次阅读

共计 515 个字符,预计需要花费 2 分钟才能阅读完成。

依据 id keys 汇合筛选进去,a 的后果

let result = []
      let a = [{ id: 1, desc: '我是 1'},
        {id: 2, desc: '我是 1'},
        {id: 3, desc: '我是 1'},
      ]
      let b = [2, 3]

期待后果

result = [{ id: 2, desc: '我是 1'},
        {id: 3, desc: '我是 1'},
      ]

个别是循环套两遍

      a.forEach((itme) => {for (let i = 0; i < b.length; i++) {const element = b[i]
          if (itme.key === element) {this.selectList.push(itme)
          }
        }
      })

能够 filter + find;
find 如果以后那项不符合条件,返回的是 undefined, 会被 filter 当成 false, 也算一个 条件 吧:

result = a.filter((v) => {
// 顺次返回:undefiend 2 3;filter 如果是 Undefined 的后果,就算 false,有值就是 true
    console.log(Object.values(b).find((i) => i === v.id)) 
    return Object.values(b).find((i) => i === v.id)
})
正文完
 0