2013-10-10 177 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());