2012-02-14 5 views

答えて

11

ええ、map() method

var array = [{name: 'John'}, {name: 'Sam'}, {name: 'Mary'}].map(function (val) { 
    return val.name; 
}); 

又はjQuery's version

var array = jQuery.map([{name: 'John'}, {name: 'Sam'}, {name: 'Mary'}], function (val) { 
    return val.name; 
}); 
+0

'jQuery.map'はヘルパーとして' .get() '呼び出しを必要としません。 +1 – jAndy

+0

@jAndy:ちょうどあなたが周りにいたテスト...;) – Matt

4

ツールがループするAと呼ばれています。非jQueryソリューション。

var myArray = []; 
var myObj = [ { name: 'John' }, { name: 'Sam' }, { name: 'Marry' } ]; 
for(var x in myObj) { 
    myArray.push(myObj[x].name); 
} 
alert(myArray.join(",")); 
0
var input=[ { name: 'John' }, { name: 'Sam' }, { name: 'Marry' } ]; 
var output=[]; 

for (var i in input) output[output.length]=i.name; 
0
var newArr = []; 
for (var i = 0, max = arr.length; i < max ; i++) { 
    newArr.push(arr[i].name); 
} 

任意のライブラリを必要とすることなく、上記の作品、そしてまだAに示すように、誰かが(...)のために使用したオブジェクトのプロトタイプで

1
var input=[ { name: 'John' }, { name: 'Sam' }, { name: 'Marry' } ]; 
var output=[]; 

$.each(input, function (index, value){ 
    output.push(value.name); 
}); 

をマックしても正常に動作します上記の答えのカップルはうまくいきますが、このようにしたくないメンバーを追加したり、そのプロパティを持たないメンバーから名前プロパティを取得しようとするときにいくつかのエラーが発生する危険性もあります。参照:Why is using "for...in" with array iteration a bad idea?

2

Underscore.js(より多くのユーティリティ機能から構成されています)を使用しても構わない場合は、pluck関数を探してください。

var names = _.pluck(array, "name"); 
関連する問題