我想通过字符串数组过滤出对象数组
let allUsers = [
{
"avatar":null,
"deleted":false,
"_id":"5f1f5df967b3240004f50a36",
"email":"emailroom3@test.com",
"password":"$2a$10$5eKv6OVouPnPH.3g9STEYO990V.L14kpD2ImZ3AtZtHaRjCg4oj/6",
"fcm":"fcm3",
"createdAt":"2020-07-27T23:06:33.683Z",
"updatedAt":"2020-07-27T23:06:33.683Z",
"__v":0
},
{
"avatar":null,
"deleted":false,
"_id":"5f1f5e0067b3240004f50a37",
"email":"emailroom2@test.com",
"password":"$2a$10$czA2dASdEo1Dw0oAxw.y1eJwg4lrZW12tLE6sUeG5k.PThuineTIm",
"fcm":"fcm2",
"createdAt":"2020-07-27T23:06:40.702Z",
"updatedAt":"2020-07-27T23:06:40.702Z","__v":0
},
{
"avatar":null,
"deleted":false,
"_id":"5f1f5d9167b3240004f50a33",
"email":"emailroom1@test.com",
"password":"$2a$10$0O2aDCCSibWlNznIWfHTxuY8vNq4Sge/YDRuntKJl9UKnSI.9TEfC",
"fcm":"fcm1",
"createdAt":"2020-07-27T23:04:49.285Z",
"updatedAt":"2020-07-27T23:04:49.285Z",
"__v":0
}]
let connectedUsers = ['5f1f5df967b3240004f50a36','5f1f5e0067b3240004f50a37']
输出应该是不在第二个数组中的第三个用户:
myArrayFiltered = [
{
"avatar":null,
"deleted":false,
"_id":"5f1f5d9167b3240004f50a33",
"email":"emailroom1@test.com",
"password":"$2a$10$0O2aDCCSibWlNznIWfHTxuY8vNq4Sge/YDRuntKJl9UKnSI.9TEfC",
"fcm":"fcm1",
"createdAt":"2020-07-27T23:04:49.285Z",
"updatedAt":"2020-07-27T23:04:49.285Z",
"__v":0
}
]
我试过了
let myArrayFiltered = allUsers.filter((user) => {
return connectedUsers.some((el) => {
return user._id !== el;
});
});
但它返回所有 3 个用户
编辑:所有答案都返回第二个数组中的 2 个用户,但我想要的是不是用户,即 ID 为“5f1f5d9167b3240004f50a33”的用户
侃侃无极
慕的地6264312
有只小跳蛙
相关分类