Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery或JavaScript循环遍历数组数组?_Javascript_Jquery_Html_Json - Fatal编程技术网

如何使用jQuery或JavaScript循环遍历数组数组?

如何使用jQuery或JavaScript循环遍历数组数组?,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我有一个类似这样的json数组 var data = key: [ { arr1: [ {value: 1}, {value: 2}, {value: 3}, ] }, { arr2: [ {value: 1}, {value: 2}, {value: 3}, ]

我有一个类似这样的json数组

var data = key: [
    {
        arr1: [
            {value: 1},
            {value: 2},
            {value: 3},
        ]
    },
    {
        arr2: [
            {value: 1},
            {value: 2},
            {value: 3},
        ]
    },
    {
        arr3: [
            {value: 1},
            {value: 2},
            {value: 3},
        ]
    }
]
我想在key中循环3次,在key循环中,我想再次循环key中的每个元素

首先,我尝试了$。每个都适用于键数组。在每个函数中,我试图使用Object.keythis在返回名称的循环中获取键值

arr1, arr2, arr3
但我无法循环浏览我得到的名字

$.each(data, function(i, e) {
    Object.keys(this).each(function(index, element) {
        console.log(element);
    })    
})
我不知道这是否是正确的方法,当我尝试这样做时,这是正确的。我有个错误,每个都不是函数


任何帮助都将不胜感激。

实现这一点的简单方法是使用三个循环,但尝试在每个循环中使用新的含义来实现这一点将是不必要的复杂

我建议使用.forEach并为每个循环变量指定一个明确的名称:

风险值数据=[ { arr1:[ {value:1}, {value:2}, {value:3}, ] }, { arr2:[ {value:1}, {value:2}, {value:3}, ] }, { arr3:[ {value:1}, {value:2}, {value:3}, ] } ] data.foreachj函数{ Object.keysouterbj.forEachfunction键{ outerObj[key].forEachfunction项{ console.logitem; }; }; };
如果您想继续使用jQuery模式,那么只需继续对每个嵌套级别使用:

var数据=[{arr1:[{value:1},{value:2},{value:3}]},{arr2:[{value:1},{value:2},{value:3}]},{arr3:[{value:1},{value:2},{value:3}]}; $.eachdata,functioni,e{ $.eache,函数键,arr{ console.logkey; $.eacharr,函数索引,obj{ console.log…,索引,obj.value; }; }; } .作为控制台包装{最大高度:100%!重要;顶部:0;}
我相信您的尝试不起作用的原因是因为您正在尝试。每个单独的值本身,而不是数据中的数组

这应该起作用:

$.each(data, function(index, array) { // This each iterates over the arrays.
  $.each(array, function(subindex, value) { // This each iterates over the individual values.
    console.log(value); // Logs the individual values.
  });
});

因为数组没有一个each方法。。。。数组有forEach…像这样的东西适合你吗?如果您确实喜欢jQuery,请尝试使用$Object.keyshis.each。那把迷路的钥匙是什么:第一行有吗?定义对象的代码不是有效的JavaScript。当我尝试将e传递给$时,每个都无效。所以我换了这个,每一个都不起作用。但在你的回答中,它是有效的+1.