简体   繁体   English

从 javascript 中的两个单独的 arrays 对象中过滤具有相同 ID 的对象

[英]filter objects with same ids from two separate arrays of objects in javascript

Array One:阵列一:

Cuisines in Profile      =======>>  [{"id": 2, "name": "Indian"}, {"id": 4, "name": "Mexican"}, {"id": 5, "name": "Mediterranean"}, {"id": 6, "name": "Middle Eastern"}, {"id": 7, "name": "Chinese"}, {"id": 8, "name": "Japanese"}, {"id": 9, "name": "Italian"}, {"id": 10, "name": "Pick for Me"}, {"id": 16, "name": "BBQ"}]

Array Two:阵列二:

Selected Cuisines        =======>>  [{"cuisine_id": 6, "id": 1260}, {"cuisine_id": 16, "id": 1262}, {"cuisine_id": 8, "id": 1268}, {"cuisine_id": 10, "id": 1269}]

Now I want to get a new filtered objects from Array one where id from Array one and cuisine_id from Array two are the same现在我想从数组一中获取一个新的过滤对象,其中数组一的 id 和数组二的 cuisine_id 相同

Expected Output:预计 Output:

[{"id": 6, "name": "Middle Eastern"}, {"id": 8, "name": "Japanese"}, {"id": 10, "name": "Pick for Me"}, {"id": 16, "name": "BBQ"}]

 const cuisines = [ { id: 2, name: 'Indian' }, { id: 4, name: 'Mexican' }, { id: 5, name: 'Mediterranean' }, { id: 6, name: 'Middle Eastern' }, { id: 7, name: 'Chinese' }, { id: 8, name: 'Japanese' }, { id: 9, name: 'Italian' }, { id: 10, name: 'Pick for Me' }, { id: 16, name: 'BBQ' }, ]; const selected = [ { cuisine_id: 6, id: 1260 }, { cuisine_id: 16, id: 1262 }, { cuisine_id: 8, id: 1268 }, { cuisine_id: 10, id: 1269 }, ]; const result = cuisines.filter(c => selected.some(s => s.cuisine_id === c.id)); console.log(result);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM