如何检查一个对象是否是“;子对象“;在Javascript中
How to check if an object is a "sub-object" in Javascript?
我在FreeCodeCamp上被算法卡住了。基本上,如果我有一个object1{a:1,b:2,c:3}
和另一个object2{a:1,b:2}
。如何检查object2是否是object1的子对象?
var object1 = {a:1,b:2,c:3};
var object2 = {a:1,b:2};
function isSubObject(object1, object2) {
for (var key in object2) {
// stop if the key exists in the subobject but not in the main object
if (object2.hasOwnProperty(key) && !object1.hasOwnProperty(key)) {
return false;
}
}
return true;
}
document.write('is subobject? ' + isSubObject(object1, object2));
遍历对象B的属性,并检查每个属性是否包含在对象A中并且具有相同的值。
伪代码:
isSubset(A, B):
for each property name as pName of B:
if A contains property with name pName:
if B[pName] equals A[pName]:
continue
return false
return true
请参阅如何枚举JavaScript对象的属性?作为开始。
使用Array.prototype.every
函数
var o1 = { a: 1, b: 2, c: 3 }
var o2 = { a: 1, b: 2 }
var r = Object.keys(o2).every(e => o1[e] == o2[e])
document.write(r); // sub-object
相关文章:
- 面向对象JavaScript中的私有函数
- 对象 Javascript 中的标签无效 - 想要添加事件列表器
- 将字符串转换为对象 javascript/jquery
- 正在检查对象javascript中是否存在嵌套属性
- 时间-日期对象JavaScript getUTCMilliseconds
- 仅在对象(javascript)中解析值
- 使用对象(JavaScript或jQuery)填充选择下拉列表
- 引用另一个对象javascript中的对象
- 如何删除列表中的对象?Javascript nodejs和下划线
- 无法从日期对象javascript获取日期和月份
- 如何在if语句中使用对象-Javascript
- 对象javascript错误
- 对象Javascript的少数实例
- 位置对象Javascript
- 将字符串传递到对象javascript中
- 获取对象Javascript或jQuery的最后一个值
- 鼠标接近对象Javascript
- 这个mixins代码是书中的错误吗;面向对象JavaScript的原理”;
- 使用闭包编译器编写更好的面向对象JavaScript完整示例代码
- 访问对象javascript数组中的对象属性值