我想循环通过一个包含在另一个对象本身包含的对象内的值的数组。通过数组在对象内循环,在另一个对象内使用jQuery?
物体看起来是这样的:
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);
});
});
});
但显然为此向上穿过一切周而复始循环。
我需要得到的数据是每个对象的'name'(字符串)和'tuning'(数组)。
我认为有一个更好的方式来获得我想要的东西,而不仅仅是无限循环!
可能很重要的一点是,我不会知道对象内的对象名称('high4high5'等),但我会知道这个对象中的值将始终是name:(string)和tuning: (阵列)。
编辑:
好吧,我想通了。
$.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);
});
});
唷!
如果你想出来,你应该把它作为答案发布,而不是编辑它到问题中。你可以以这种方式获得代表权,如果他们认为他们的方法更好,他们更可能发布其他答案。 – karim79
感谢Karim79。会做。 –