filter find的筛选

根据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的筛选】可以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) })

    推荐阅读