我的意思是Object-B包含在Object-A中,当Object-B的所有属性都包含在object-A中时,它的值在object-A中是相同的。
var obj_b={a:1,d:3}
var obj_a={a:1,b:22,c:33,d:3} //--> obj_b includes in obj_a
var obj_c={a:1,f:4};
isIncluded=(small,big)=>Object.keys(small).every((k)=>big[k] === small[k])
console.log(
'Does "obj-b" included in "obj-a" ? ',isIncluded(obj_b,obj_a)
)
console.log(
'Does "obj-c" included in "obj-a" ? ',isIncluded(obj_c,obj_a)
)
ES6 / ES7是否具有内置API 更优雅和简洁?
例如,为了从原点扩展对象,ES6带来了Object.assign(o1,o2)
?
有类似Object.isInclude(o1,o2)
的内容吗?
答案 0 :(得分:2)
不,没有。你的解决方案已经简洁而优雅,虽然可以用另外4个字符打高尔夫球。
const isSubObject = (small,big)=>Object.keys(small).every(k=>big[k]===small[k]);