假设我有一个JavaScript对象,它由几个键/值对的字符串键和JavaScript对象组成。
var obList = { key:{..}, key2:{..}, key3:{..}, ... }
我构建了一个新的集合obList2
var obList2 = { key:{..}, key2:{..}, key3:{..}, ... }
我想编写一个基于obList2修改obList的函数。我遇到问题的第一步是删除obList中具有obList2中不存在的键的所有对象。任何想法/实现都会有所帮助。谢谢!
答案 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!")
}