Javascript对象操作的问题

Javascript对象操作的问题,javascript,Javascript,假设我有一个JavaScript对象,它由几个键/值对的字符串键和JavaScript对象组成 var obList = { key:{..}, key2:{..}, key3:{..}, ... } 我构造了一个新的集合,obList2 var obList2 = { key:{..}, key2:{..}, key3:{..}, ... } 我想写一个基于obList2修改obList的函数。我遇到问题的第一步是删除obList中所有键不在obList2中的对象。对此的任何想法/实施都会

假设我有一个JavaScript对象,它由几个键/值对的字符串键和JavaScript对象组成

var obList = { key:{..}, key2:{..}, key3:{..}, ... }
我构造了一个新的集合,obList2

var obList2 = { key:{..}, key2:{..}, key3:{..}, ... }

我想写一个基于obList2修改obList的函数。我遇到问题的第一步是删除obList中所有键不在obList2中的对象。对此的任何想法/实施都会有所帮助。谢谢大家!

可以使用循环在对象上循环,并使用检查属性是否存在

例如:

for (var prop in obList) {
    if (obList.hasOwnProperty(prop) && !obList2.hasOwnProperty(prop)) {
        delete obList[prop];
    }
}

第一个条件是防止修改
对象。原型
,第二个条件检查属性是否不存在于第二个对象上。

代码的基本元素:检查对象是否缺少特定键的能力。以下是您的做法:

if (window.bla === undefined) { 
  console.log("Key bla is missing!")
}

如果一个属性被特别设置为
未定义
,那该怎么办?很好。我不知道它是否实际适用,但我今天确实学到了一些东西-我不再将东西与未定义的东西进行比较:-)。谢谢你,拉杜!伟大的谢谢你的回复。