javascript - jQuery:$.each()递归清空对象

标签 javascript jquery loops recursion

我有一个 json 对象,它具有 key:value 对以及格式相同的对象,key:value

我试图在同一个循环中输出keyvalue,如下所示

 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/

相关文章:

javascript - 在 JavaScript 中将 Buffer 转换为整数

jquery - 如何在不使用 yepnope.js 的情况下预加载 css 文件?

javascript - 从动态数组中删除项目

python - 如何根据时间是否在某个范围内创建由 1 或 0 填充的数组/数据框?

c - c中非常大的循环计数

Android 模拟器卡在启动循环中 - 未找到库 "/system/lib/libnetcmdiface.so"

javascript - 除非选中复选框,否则禁用输入按钮

javascript - 如何将 HTML 转换为没有标签和特殊字符的文本?

javascript - 如果选择/更改了值,则从选择中隐藏/删除选项值

javascript - 打开后下拉导航菜单滑动的问题