使用内置API检查其他对象中是否包含文字对象

时间:2016-07-30 11:17:42

标签: javascript object ecmascript-6

我的意思是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)的内容吗?

1 个答案:

答案 0 :(得分:2)

不,没有。你的解决方案已经简洁而优雅,虽然可以用另外4个字符打高尔夫球。

const isSubObject = (small,big)=>Object.keys(small).every(k=>big[k]===small[k]);