Я пытаюсь перебрать массив значений, содержащихся в объекте, который сам содержится в другом объекте.
Объект выглядит следующим образом:
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' и т. д.), но я буду знать, что значения в этом объекте всегда будут name: (string) и tuning: (array).
РЕДАКТИРОВАТЬ:
Хорошо, я понял это.
$.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);
});
});
Фу!