【发布时间】:2019-08-26 17:45:32
【问题描述】:
我正在编写一个递归函数来对两个对象进行深度比较。但是,我遇到了语法错误。
这是函数:
function deepEqual(obj1, obj2) {
if (compareArrays(Object.keys(obj1), Object.keys(obj2))){
for (let x of Object.keys(obj1)){
if (typeOf obj1.x == 'object' && typeOf obj2.x == 'object')\
return deepEqual(obj1.x, obj2.x)
else{
if (obj1.x !== obj2.x) return false
}
}
return true
}
else{
return false
}
}
这是函数 compareArrays(没有错误):
function compareArrays(array1, array2) {
if (array2.length === array1.length) {
for (var i = array2.length - 1; i >= 0; i--) {
if (array2[i] !== array1[i]){
return false
}
}
return true
}
else{
return false
}
}
预期输出: 真假 实际输出:
if (typeOf obj1.x == 'object' && typeOf obj2.x == 'object') return deepEqual(obj1.x, obj2.x)
^^^^
SyntaxError: Unexpected identifier
【问题讨论】:
-
typeof而不是typeOf;)
标签: javascript function object syntax