从 2 个对象数组中获取丢失的对象

kni*_*ion 3 javascript ecmascript-6

let selected = [
  {id: 15, name: 'Canada'},
  {id: 25, name: 'Germany'}
];

let all = [
  {id: 15, name: 'Canada'},
  {id: 25, name: 'Germany'},
  {id: 32, name: 'United States'},
  {id: 40, name: 'China'}
]
Run Code Online (Sandbox Code Playgroud)

如何从all对象中获取未选定的国家并将其打印在另一个变量中?基于数组id中的键selected

tym*_*eJV 5

您需要找到所有未包含在其中的对象selected,然后对它们执行某些操作:

let nonSelectedItems = all.filter(obj => selected.every(s => s.id !== obj.id));

//do stuff with non-selected items
Run Code Online (Sandbox Code Playgroud)