【发布时间】:2018-06-17 09:57:40
【问题描述】:
我正在尝试检查一个对象中是否包含另一个具有部分匹配样式的对象。
所以下面的例子一旦工作,应该在myArray 中找到对象{'a':{'b':'c'} 两次。请注意,即使myArray[0] 对象在{'a':{'b':'c'} 之上还有一个附加属性'e': 'f',它仍应被视为包含{'a':{'b':'c'}。
我想避免使用任何方法,例如 reduce 或 map。
const myArray = [
{
'a': {
'b': 'c',
'e': 'f',
}
},
{
'a': {
'b': 'c'
}
},
{
'd': {
'e': 'f'
}
},
]
function contains(array, index, object) {
if () { // implementation???
return true
}
else {
return false
}
}
function quantityOfObjectInArray(object, array) {
var count = 0;
for (var i = 0; i < this.length; ++i) {
if ( contains(array, i, object) ) {
count++;
}
}
return count
}
var quantity = quantityOfObjectInArray({'a':{'b':'c'}}, myArray)
console.log(quantity) // expect: 2
【问题讨论】:
-
这是关于一个对象是否部分包含另一个对象,而不是它们是否相等
标签: javascript