模拟一个场景:我有一个用户表,一个登陆表,我现在要查找出已经有登录记录的账户
在这里,因为可能是多个结果,所以我们就不能用find(),要用filter()
我们要查询登录记录表中,是否包含一个对象(uid叫这个的,通过某个元素匹配),所以要用到some()
示例代码:
//用户表 var list1=[ {"uid":"1","name":"张三"}, {"uid":"2","name":"李四"}, {"uid":"3","name":"王五"} ]; //登陆记录表 var list2=[ {"uid":"2","loginDate":"2022-11-04"}, {"uid":"3","loginDate":"2022-11-04"}, {"uid":"2","loginDate":"2022-11-03"}, {"uid":"2","loginDate":"2022-11-02"}, ]; //模拟一个场景:我要查询有登录记录的用户 //some判断数组是否有符合条件的元素,这个是通过list1筛选list2. var findUser_1=list1.filter(item=> list2.some(y=>y.uid==item.uid)); console.log(findUser_1)
示例代码返回:
微信扫码查看本文
发表评论