我想循環通過一個包含在另一個對象本身包含的對象內的值的數組。通過數組在對象內循環,在另一個對象內使用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。會做。 –