如何删除一个对象中不存在于另一对象中的属性

Oam*_*nji 2 javascript object

假设我有两个如下所示的对象。

let a = {Friday: [1, 2 3], Saturday: [2,4,2], Sunday: [1,4]}
let b = {Friday: [], Saturday: []}
Run Code Online (Sandbox Code Playgroud)

我需要某种方法来删除a不在其中的所有键值对b,因此结果将是:

{Friday: [1, 2 3], Saturday: [2,4,2]}
Run Code Online (Sandbox Code Playgroud)

amr*_*ngh 5

只需使用for loopand delete

  • 迭代a中的所有属性
  • 检查该属性是否存在于 中b,如果不存在,只需从 中删除该属性a

let a = {Friday: [1, 2, 3], Saturday: [2,4,2], Sunday: [1,4]};
let b = {Friday: [], Saturday: []};

for(let key in a){
  if(!(key in b))
    delete a[key];
}
console.log(a);
Run Code Online (Sandbox Code Playgroud)