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)
})
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量