我是JavaScript中对象处理的新手,我遇到了问题。我希望你能帮助我。
要了解我在这里做了什么:我有一个多级对象,每个国家/地区有两个不同的电话号码(短代码)。由于列表太长,我为" Europe"添加了一个类别。当我尝试访问子对象的数据时,我的引用总是未定义但是我的console.log(l2)声明子存在并且应该具有已定义的属性。
您能帮我理解为什么属性未定义或我做错了什么?
小提琴:Responsive Web Design Tester
JS:
if(!$this->input->is_ajax_request())
{
$this->output->set_header('Last-Modified:'.gmdate('D, d M Y H:i:s').'GMT');
$this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate');
$this->output->set_header('Cache-Control: post-check=0, pre-check=0',false);
$this->output->set_header('Pragma: no-cache');
}
答案 0 :(得分:2)
我认为你的第二个循环是试图访问它没有的变量:
$.each( l, function( key2, l2 ) {
在其中,您尝试在l.cs
中引用function( key2, l2 )
,但该函数不知道l
是什么,因此它返回一个空的本地对象(和{ {1}} undefined
}
我不确定,但这是我第一次看到它的猜测。
答案 1 :(得分:2)
错误在你的小提琴的第81行。
更改
l2.cs = '7108' + l.cs;
到
l2.cs = '7108' + l[key2].cs;
l
是您的第一个类别(例如"欧洲"),它没有名为cs
的媒体资源。您需要使用国家/地区名称来获取您的财产。
答案 2 :(得分:-2)
如果您从欧洲,保加利亚等地删除引号,它就有效