我正在尝试遍历包含在一个对象中的值数组,该对象本身包含在另一个对象中。
对象看起来像这样:
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/