根据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)
})

laomao
9 声望0 粉丝