jQuery循环遍历多维数组

时间:2014-03-24 01:24:18

标签: jquery arrays json multidimensional-array each

我在名为$array的PHP文件中有一个二维数组,列idmsgtimestamp

然后创建一个多维数组,并从AJAX调用输出为JSON:

$ok = 1;
$error = null;

echo JSON_ENCODE(array('ok'=>$ok, 'err'=>$error, 'arr'=>$array));

我正在尝试遍历名为arr的嵌套数组,这个我无法弄清楚,我尝试了什么:

$.each(data,function(i,index){
    $('#msg_apnd').append(data[index].midt + data[index].msg);
});

这只循环遍历数据数组,因此只需要一行,当我需要它遍历嵌套的arr数组时,所以我尝试了这个:

$.each(data,function(i,index){
    $.each(i,function(i2,index2){
        $('#msg_apnd').append(arr[index].midt + arr[index].msg);
    });
});

我有点陷入困境,无法在其他地方找到合适的答案。我需要jQuery代码来遍历AJAX响应中的嵌套arr数组。

2 个答案:

答案 0 :(得分:1)

您可以使用成员运算符定位.arr,因为data是对象

$.each(data.arr,function(idx, val){
        $('#msg_apnd').append(val.midt + val.msg);
});

同样$.each()回调接收当前项的索引作为第一个参数,当前项作为第二个参数

答案 1 :(得分:0)

成功回调应如下所示:

function (response) {
  console.log(response.ok, response.err, response.arr);
  $.each(response.arr, function(i, v){
    $('#msg_apnd').append(v.midt + v.msg);
  });
}