Filter 1 mảng bằng 1 mảng khác

Mình có 2 mảng thế này:

var mangA = [{id:'1',name:'a'},{id:'2',name:'b'},{id:'3',name:'c'},{id:'4',name:'d'}];
var mangB = [{id:'1'},{id:'2'}];
var result = mangA.filter(a => mangB.every(b => b.id === a.id));
console.log(result);

mình muốn filter mảng A theo các id trong mảng B, nhưng mà làm như trên không được, các bạn giúp mình với.
nếu mình đổi lại === thành !== thì nó lọc ra id 3 và 4, nhưng để dấu === thì nó không lọc ra 1 và 2.

1 Like

Sao lại là every nhỉ? Phải là some chứ nhỉ?

PS: mình không có code js, chỉ suy luận theo thuật toán/logic thôi nha

5 Likes

cảm ơn bạn nha, đúng là mình nhầm hàm rồi.:sweat_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?