3 回答

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
您不需要遍歷第二個(gè)數(shù)組。你只需要檢查它是否user._id在connectedUsers數(shù)組中。像這樣:
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'];
let myArrayFiltered = allUsers.filter(user => {
return connectedUsers.includes(user._id);
});
console.log(myArrayFiltered);
// 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}]

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以使用 indexOf 方法來檢查數(shù)組中的項(xiàng)目或不作為
let myArrayFiltered = allUsers.filter((user) => {
return connectedUsers.indexOf(user._id) > -1;
});
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']
let myArrayFiltered = allUsers.filter((user) => {
return connectedUsers.indexOf(user._id) > -1;
});
console.log(myArrayFiltered)

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊
在您的解決方案中,您正在檢查某些元素是否不等于用戶 ID,但您可能想檢查某些元素是否匹配它:
let myArrayFiltered = allUsers.filter((user) => {
return connectedUsers.some((el) => {
return user._id === el;
});
});
這僅正確返回 2 個(gè)用戶。
添加回答
舉報(bào)