当前位置: 首页 > 面试题库 >

jQuery循环.each()JSON键/值不起作用

贺博厚
2023-03-14
问题内容

我在通过jQuery .each()函数循环JSON的键/值时遇到问题

最初我有一个像这样的JSON:

json = {"aaa":[
              {"id":"1","data":"aaa1data"}
              ,{"id":"2","data":"aaa2data"}
              ],
        "bbb":[
              {"id":"3","data":"bbb1data"}
              ]
       }

我想遍历JSON中的所有键/值元素(aaa和bbb),并检索内部JSON数组以再次遍历,所以我尝试了

$(json).each(function(index,data)
{
    var zzz = data;
    $(zzz).each(function(index,data))
    {
       //some other stuff
    }
}

但是,我发现第一个.each()函数会将整个json视为单个结构,并且不会在其元素的键上循环。从.each()函数接收的data参数始终是原始json本身。我永远无法获得指向aaa和bbb的内部JSON数组的引用。

这将是什么问题,我应该如何通过jQuery正确循环JSON中的所有键/值元素?


问题答案:

由于您有一个对象,而不是jQuery包装器,因此需要使用$
.each()
的其他变体。

$.each(json, function (key, data) {
    console.log(key)
    $.each(data, function (index, data) {
        console.log('index', data)
    })
})

演示:小提琴



 类似资料:
  • 问题内容: 在这段代码中,为什么不按我的意愿初始化我的数组?是不是for-each循环并非旨在做到这一点,或者我只是没有正确使用它? 问题答案: for-each循环不适用于这种情况。您不能使用for-each循环来初始化数组。您的代码: 将转换为以下内容: 如果这是一个对象数组,它仍然会失败。基本上,for-each依次将集合或数组中的每个条目分配给您提供的变量,然后可以使用该变量。该变量 不

  • 问题内容: 我在名为data的变量中返回了以下JSON。 这是GETS返回的JSON … 我试图使用$ .each遍历整个集合,但是遇到了警报显示未定义的问题。我尝试了很多不同的语法,但似乎无法弄清楚。 我正在使用的jQuery是 谁能指出我正确的方向? 编辑 这是我用来获取数据的代码 这是在回调时被调用的函数 编辑2 这有点使我感到困惑,根据文档,它应该可以正常使用,但事实并非如此。据提琴手说,

  • For Each循环用于为数组或集合中的每个元素执行语句或一组语句。 For Each循环类似于For循环; 但是,为数组或组中的每个元素执行循环。 因此,步进计数器将不存在于这种类型的循环中。 它主要用于数组或在File系统对象的上下文中使用,以便递归操作。 语法 (Syntax) 以下是VBA中For Each循环的语法。 For Each element In Group [state

  • 本文向大家介绍JQuery跳出each循环的方法,包括了JQuery跳出each循环的方法的使用技巧和注意事项,需要的朋友参考一下 一、jquery each循环,要实现break和continue的功能: break----用return false; continue --用return ture; 二、jquery怎么跳出当前的each循环 有些朋友可能会以为在jquery跳出循环可以直接使

  • 我有一个复选框列表,想用复选框的所有名称做一些事情。但是我似乎无法访问HTML对象: 这将产生TypeError:elem.hide不是函数 但是console.log(elem)显示: 如何访问每个元素?

  • 问题内容: 我正在寻找遍历JSON数组并显示键和值的方法。 我还看到了使用jQuery在JSON中获取键/值对中键的名称但对于一个简单的活动,它似乎也需要很多代码。 这说明了我在寻找什么(但它不起作用): 没有强制性的jQuery要求,但可以使用。如果它减少了所需的代码,我还可以重组JSON。 问题答案: 您有一个表示JSON序列化JavaScript对象的字符串。您需要先将其反序列化回JavaS