模拟一个场景:我有一个用户表,一个登陆表,我现在要查找出已经有登录记录的账户
在这里,因为可能是多个结果,所以我们就不能用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)示例代码返回:


微信扫码查看本文
发表评论