2016-04-28 6 views
0

У меня есть массивПолучить объект объекта в массиве

[{ 
    "39195": { 
     "name": "Introduction", 
     "lessons": [{ 
      "name": "A", 
      "duration": "(05:30)", 
      "movieName": "Why+Learn+ActionScript%3F" 
     }, { 
      "name": "About the Included Sample Scripts", 
      "duration": "(03:49)" 
     }, ] 
    }, 
    "39196": { 
     "name": "Introduction2", 
     "lessons": [{ 
      "name": "B", 
      "duration": "(05:30)", 
      "movieName": "Why+Learn+ActionScript%3F" 
     }, { 
      "name": "About the Included Sample Scripts", 
      "duration": "(03:49)" 
     }, ] 
    }, 
    "39197": { 
     "name": "Introduction3", 
     "lessons": [{ 
      "name": "C", 
      "duration": "(05:30)", 
      "movieName": "Why+Learn+ActionScript%3F" 
     }, { 
      "name": "About the Included Sample Scripts", 
      "duration": "(03:49)" 
     }, ] 
    } 
}] 

Как я могу получить массив значений [Introduction,Introduction2,Introduction3]

+0

Вы уверены, что это действительно? – guradio

+1

Хотелось бы увидеть, что вы пробовали. –

+0

Я имею в виду пример выше. действительно ли это? – guradio

ответ

1

Вы можете использовать Object.keys() и map()

var arr = [{ 
 
    "39195": { 
 
    "name": "Introduction", 
 
    "lessons": [{ 
 
     "name": "A", 
 
     "duration": "(05:30)", 
 
     "movieName": "Why+Learn+ActionScript%3F" 
 
    }, { 
 
     "name": "About the Included Sample Scripts", 
 
     "duration": "(03:49)" 
 
    }] 
 
    }, 
 
    "39196": { 
 
    "name": "Introduction2", 
 
    "lessons": [{ 
 
     "name": "B", 
 
     "duration": "(05:30)", 
 
     "movieName": "Why+Learn+ActionScript%3F" 
 
    }, { 
 
     "name": "About the Included Sample Scripts", 
 
     "duration": "(03:49)" 
 
    }] 
 
    }, 
 
    "39197": { 
 
    "name": "Introduction3", 
 
    "lessons": [{ 
 
     "name": "C", 
 
     "duration": "(05:30)", 
 
     "movieName": "Why+Learn+ActionScript%3F" 
 
    }, { 
 
     "name": "About the Included Sample Scripts", 
 
     "duration": "(03:49)" 
 
    }] 
 
    } 
 
}]; 
 

 
var res = Object.keys(arr[0]) // get get object keys for iteration 
 
    .map(function(v) { // iterate over the array and retrieve needed property 
 
    return arr[0][v].name // get name property from inner object 
 
    }); 
 

 
document.write('<pre>' + JSON.stringify(res, null, 3) + '</pre>');

0

Это сделало бы трюк. Положим А = к JSon данных

var names = []; 
for (var key in a[0]) { 
    if (a[0].hasOwnProperty(key)) { 
    alert("prop: " + key + " value: " + a[0][key]['name']); 
    names.push(a[0][key]['name']); 
    } 
} 

Если это действительно является массивом, то вы можете добавить еще один цикл в цикле по массиву.

Смежные вопросы