Я бы сделал что-то вроде этого, я напишу общую c функцию для получения первого дочернего элемента, если это массив или объект:
function getFirstChild(o) {
if (o instanceof Array) {
return o[0];
} else {
return o[Object.keys(o)[0]];
}
}
В зависимости от типа, это будет отправьте мне первый элемент массива или значение первого ключевого элемента объекта.
Затем я сделаю трижды то, что вы хотите:
// first level
var myData = getFirstChild(data);
// second level
myData = getFirstChild(myData);
// third level
myData = getFirstChild(myData);
И затем использую myData
, который имеет правильное значение. Это всего лишь мое предположение о том, чего вы хотели. Есть много возможностей для улучшения.
Полный фрагмент
function getFirstChild(o) {
if (o instanceof Array) {
return o[0];
} else {
return o[Object.keys(o)[0]];
}
}
var data = [
{
"Table":[
{
"id":1,
"DESC":"Sports",
"ORDER":1,
"AVAILABLE":true
},
{
"id":2,
"DESC":"Math",
"ORDER":2,
"AVAILABLE":true
},
{
"id":3,
"DESC":"English",
"ORDER":3,
"AVAILABLE":true
}
]
}
];
// first level
var myData = getFirstChild(data);
// second level
myData = getFirstChild(myData);
// third level
myData = getFirstChild(myData);
console.log(myData);
Или, если я понимаю, вам нужен массив до l oop через. Просто сделай дважды:
function getFirstChild(o) {
if (o instanceof Array) {
return o[0];
} else {
return o[Object.keys(o)[0]];
}
}
var data = [
{
"Table":[
{
"id":1,
"DESC":"Sports",
"ORDER":1,
"AVAILABLE":true
},
{
"id":2,
"DESC":"Math",
"ORDER":2,
"AVAILABLE":true
},
{
"id":3,
"DESC":"English",
"ORDER":3,
"AVAILABLE":true
}
]
}
];
// first level
var myData = getFirstChild(data);
// second level
myData = getFirstChild(myData);
console.log(myData);