我有一个 json 对象,它具有 key:value
对以及格式相同的对象,key:value
我试图在同一个循环中输出key
和value
,如下所示
populateUpdateForm: function(data) {
// console.log(typeof(data));
// console.log(data);
$.each(data, function(i, v){
if ( typeof(v) == 'object' ) {
populateUpdateForm(v);
// return false;
}
console.log(i, v);
});
}
只要当前的 v
是一个字符串,它就会正确输出,但是一旦我击中一个对象并再次开始循环,console.log(data)<即使
也是typeof()
显示一个对象,空
。
有什么办法可以解决这个问题吗?
谢谢
编辑无论是否中断循环都会导致相同的错误,Uncaught TypeError: Cannot read property 'length' of null
in the jquery.min.js文件
编辑2此处https://jsfiddle.net/7rLesm4y/是一个jsfiddle,它是我的代码的复制/粘贴。我使用相同的 jQuery 版本,但在 localhost 上我收到错误,而在 jsfiddle 上它按我的预期工作。
最佳答案
问题出在 null
值和 $.each
循环上。虽然它似乎在 jQuery v2.2.0
中工作,但它在旧版本上会抛出错误,TypeError: obj is null
在 FF 上,Cannot read property 'length' of Chrome 上为 null
。
关于javascript - jQuery:$.each()递归清空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35176054/