Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在不使用方法的情况下检查对象是否包含对象?_Javascript - Fatal编程技术网

Javascript 如何在不使用方法的情况下检查对象是否包含对象?

Javascript 如何在不使用方法的情况下检查对象是否包含对象?,javascript,Javascript,我试图检查一个对象是否包含另一个具有部分匹配样式的对象 因此,下面的示例应该在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

我试图检查一个对象是否包含另一个具有部分匹配样式的对象

因此,下面的示例应该在
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”
}
},
]
函数包含(数组、索引、对象){
如果(){//实现???
返回真值
} 
否则{
返回错误
}
}
对象数组(对象,数组)的函数数量{
var计数=0;
对于(变量i=0;iconsole.log(quantity)//expect:2
您可以使用
Object.entries
递归比较对象:

function has(obj, proto) {
  for(const [key, value] of Object.entries(proto)) {
    if(typeof value === "object") {
      if(!obj[key] || !has(obj[key], value))
         return false;
    } else if(obj[key] !== value) {
      return false;
    }
  }
  return true;
}

可能的重复是关于一个对象是否部分包含另一个对象,而不是它们是否相等。如果没有其他方法,我将需要它,但我正在尝试不使用这样的方法,所以我可以看到在使用类似快捷方式的方法之前,如何首先以艰难的方式完成它