2016-04-28 153 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

這會做到這一點。將a =設置爲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']); 
    } 
} 

如果它確實是一個數組,那麼您可以添加另一個循環來遍歷數組。