Javascript对象操作有问题

时间:2012-08-01 01:51:51

标签: javascript

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

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

我构建了一个新的集合obList2

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

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

2 个答案:

答案 0 :(得分:1)

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

示例:

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

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

答案 1 :(得分:0)

代码的基本元素:检查对象中是否缺少特定键的能力。这是你如何做到的:

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