0

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

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

我构建了一个新集合 obList2

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

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

4

2 回答 2

1

您可以使用循环遍历对象for .. in并使用 . 检查属性是否存在Object.hasOwnProperty()

例子:

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

第一个条件是防止修改,Object.prototype第二个条件是检查第二个对象上是否不存在该属性。

于 2012-08-01T01:56:23.423 回答
0

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

if (window.bla === undefined) { 
  console.log("Key bla is missing!")
}
于 2012-08-01T01:56:50.907 回答