2013-10-10 239 views
0

我有一個數組,我只想從中獲取名稱。從多維數組中獲取值

var peoples = [ 
    { "name": "dod", "class": "a", "age": 12 }, 
    { "name": "john", "class": "b", "age": 14 }, 
    { "name": "henry", "class": "c", "age": 23 } 
]; 

如何從逗號分隔的每個對象中獲取名稱?

+1

'peoples.map(函數(五){回報訴name);})。join()' – rab

+0

peoples [0] .name使用for循環遍歷它們全部。 – Andries

回答

1

jQuery中,

var peoples = [ 
    { "name": "dod", "class": "a", "age": 12 }, 
    { "name": "john", "class": "b", "age": 14 }, 
    { "name": "henry", "class": "c", "age": 23 } 
]; 

var names = new Array(); 
$.each(peoples,function(key,value){ 
    names[key] = value.name; 
}); 
namelist = names.join(","); 
console.log(namelist); 

http://jsfiddle.net/9344Q/

+0

幾個評論'var names = new Array(); => var names = []'和'names.join(「,」)=> names.join()'作爲默認連接字符是',' – rab

+0

我不知道,問題沒有問'jQuery'解決方案和答案是基於'jQuery' ..有很好的解決方案,在原生js ..而不是加載繁重的JavaScript庫 – rab

+0

@rab在大多數情況下,網站將有jQuery,所以它不費心。 – shyammtp

0

這絕對會做到在普通的JavaScript:

var peoples = [ 
    { "name": "dod", "class": "a", "age": 12 }, 
    { "name": "john", "class": "b", "age": 14 }, 
    { "name": "henry", "class": "c", "age": 23 } 
]; 

var arr = []; 
peoples.forEach(function(name) { 
    arr.push(name['name']); 
}); 

console.log(arr.join(',')); 
+0

as'Array.prototype.forEach'是'Ecmasript 5'的一部分,因此最好使用'Array.prototype.map'。 – rab

0
var peoples = [ 
    { "name": "dod", "class": "a", "age": 12 }, 
    { "name": "john", "class": "b", "age": 14 }, 
    { "name": "henry", "class": "c", "age": 23 } 
]; 
alert(peoples.map(function(v){ return v.name; }).join());