Javascript 返回函数不';行不通
我写了一个函数来比较两个对象是否相等。 为什么循环中的return语句不起作用Javascript 返回函数不';行不通,javascript,function,loops,return,javascript-objects,Javascript,Function,Loops,Return,Javascript Objects,我写了一个函数来比较两个对象是否相等。 为什么循环中的return语句不起作用 var deepEqual=函数(a,b){ var aProp=Object.getOwnPropertyNames(a); var bProp=Object.getOwnPropertyNames(b); 如果(平均长度!==平均长度){ 返回false; } 否则{ 对于(变量i=0;i
var deepEqual=函数(a,b){
var aProp=Object.getOwnPropertyNames(a);
var bProp=Object.getOwnPropertyNames(b);
如果(平均长度!==平均长度){
返回false;
}
否则{
对于(变量i=0;i log(deepEqual(obj,{a:2,这里:{is:“},object:2,d:12}))代码>对deepEqual
的递归调用没有执行任何操作
您可以检查其结果,如果不匹配,则返回false:
var deepEqual=函数(a,b){
var aProp=Object.getOwnPropertyNames(a);
var bProp=Object.getOwnPropertyNames(b);
如果(平均长度!==平均长度){
返回false;
}
否则{
对于(变量i=0;i 如果(!deepEqual(a[aProp[i]],b[bProp[i]]){/您正在使用递归,但没有检查递归调用是否失败。请尝试以下操作:
if (!deepEqual(a[aProp[i]], b[bProp[i]])) {
return false;
}