如何使用.each()在jQuery中创建嵌套数组?

时间:2018-12-17 06:51:27

标签: javascript jquery arrays loops

我有一个要解决的问题。 所以我要创建的是一个嵌套数组,其结构如下:

([0] => 1([0] => 3,[1] => 4),[1] => 3([0] => 3,[1] => 4))。< / p>

这是我使用的脚本:

$('li.dd-head-section').each(function() {
  var id = $(this).data('id');
  sub_section = id;
  $('li.dd-head-section[data-id="'+id+'"] li.dd-sub-section').each(function() {
   sub_section = $(this).data('id');
  });
});

我使用两个.each()来获得所需的结果,但是我使用的脚本始终会给我以下结果:

[1、3、4、3、2、5]

而不是我想要的是

([0] => 1([0] => 3,[1] => 4),[1] => 3([0] => 3,[1] => 4))。< / p>

那么在jquery中有什么方法可以做到这一点?我一直在寻找使之成为可能的方法,但是我还没有任何解决方案,因此我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

var menuArray = [], subArray;

  $('li.dd-head-section').each(function() {
    var id = $(this).data('id');
    subArray = [];
    $('li.dd-head-section[data-id="'+id+'"] li.dd-sub-section').each(function() {
      var sub_id = $(this).data('id');
      subArray.push(sub_id);
    });
    menuArray[id] = subArray;
  });