javascript - 在对象内循环数组,在另一个对象内使用 jQuery?

标签 javascript jquery loops

我正在尝试遍历包含在一个对象中的值数组,该对象本身包含在另一个对象中。

对象看起来像这样:

var guitar = {
  high4high5: {
    name: 'high 4th, high 5th',
    tuning: [ [5,4], [-2,3], [2,3], [7,3] ]
  },
  high4low5: {
    name: 'high 4th, low 5th',
    tuning: [ [5,4], [-2,3], [2,3], [7,2] ]
  }
}

我知道我可以像这样在每个循环中继续使用 jQuery 循环:

$.each(guitar, function(key, value) {
  console.log('1st loop: ' + key, value);
  $.each(value, function(key, value) {
    console.log('2nd : ' + key, value);
    $.each(value, function(key, value) {
      console.log('3rd : ' + key, value);
    });
  });
});

但显然这最终会一次又一次地循环遍历所有内容。

我需要获取的数据是每个对象的“名称”(字符串)和“调整”(数组)。

我认为有比无限循环更好的方法来获得我想要的东西!

可能需要注意的重要一点是,我不知道对象内部对象的名称('high4high5' 等),但我会知道该对象中的值始终是名称:(字符串)和调整:(数组)。

编辑:

好的,我明白了。

$.each(guitar, function(key, value) {
  var tuningName = value.name;
  var tuningArray = value.tuning;
  console.log('name: ' + tuningName);
  $.each(tuningArray, function(key,value) {
    console.log(value);
  });
});

呸!

最佳答案

您确实不需要 jQuery 来执行此操作。您可以使用老式的 Javascript 来完成:

for(g in guitar) {
    console.log(guitar[g].name);
    console.log(guitar[g].tuning);
}

关于javascript - 在对象内循环数组,在另一个对象内使用 jQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7227892/

相关文章:

javascript - jQuery 验证无法正常工作

python - 不能在范围内循环中调用“int”对象

loops - JMeter - 具有可变循环计数的循环 Controller

javascript - Jqplot 仅显示几个 x 轴刻度

javascript - 过滤 Google Drive API 以仅获取 Google Data studio 报告

javascript - 具有动态列但布局固定的表格

javascript - SVG foreignObject 在 Safari 上无法正常工作

javascript - 如何在客户端 Javascript 中隐藏 API key

javascript - "The stylesheet was not loaded because its MIME type, "文本/html "is not "文本/css"

C# 二维List的for循环