Javascript 未捕获类型错误:无法调用方法';推动';未定义的

Javascript 未捕获类型错误:无法调用方法';推动';未定义的,javascript,google-chrome,google-maps-api-3,syntax-error,Javascript,Google Chrome,Google Maps Api 3,Syntax Error,我已经被这个错误困扰了好几天,任何一个善良的灵魂能破译这个错误吗?该警报显示所需的正确数据,但不知何故,push()方法无法工作。。提前谢谢 说起来并不容易,但根据注释,您调用的push方法的对象可能是未定义的。这个对象应该是一个数组 替换此行: layer[result['layerId']].push(result); 代码如下: if("undefined" != typeof layer[result['layerId']]) { layer[result['layerId']

我已经被这个错误困扰了好几天,任何一个善良的灵魂能破译这个错误吗?该警报显示所需的正确数据,但不知何故,push()方法无法工作。。提前谢谢

说起来并不容易,但根据注释,您调用的
push
方法的对象可能是
未定义的。这个
对象
应该是一个
数组

替换此行:

layer[result['layerId']].push(result);
代码如下:

if("undefined" != typeof layer[result['layerId']]) {
    layer[result['layerId']].push(result);
}
else {
    layer[result['layerId']] = new Array();
    layer[result['layerId']].push(result);
}

让我知道它是否有效。

哪里定义了
sub
?@techfoobar嗨!我已经将sub改为layer,因为它有点混乱,并添加了更多代码,我希望这些代码有助于识别错误。谢谢大家!为什么你不能粘贴你实际使用的代码呢。这里有
,一个带有一个case的switch语句。。我几乎可以肯定这不是原始代码。或者您的问题可能是因为您错误地将
表示为
?您能否将
console.log(result['layerId',layer)
放在有问题的行之前,并告诉我们您的浏览器控制台中的结果是什么?出现此错误的原因是
不包含任何名称的属性
结果['layerId']
返回。您的代码无效-函数未关闭。Chrome报告此错误:SyntaxError:输入意外结束。你能粘贴整个函数吗?