2016-05-04 4 views
0

に、配列内のオブジェクトのプロパティを回しますコンマ区切りの文字列に変換します。Javascriptが私はすべて以下のような同じクラスのインスタンスであるオブジェクトの配列を持っている文字列

オブジェクトのプロパティで.joinメソッドを呼び出すことはできますか?そうでない場合は、これを行う最も効率的な方法の下にありますか?

var result = ""; 
for (var i = 0; i < myArr.length; i++){ 
    result += myArr[i].bar+"," 
} 

別の方法がありますか?

答えて

2

あなたはArray.prototype.mapを使用することができます。

var result = myArr.map(function(x) { return x.bar; }).join(','); 
1

あなたはArray.prototype.reduceを使用することができます。

var result = myArr.reduce(function(acc, el) { 
if(!acc) return el.bar; 
return acc + ', ' + el.bar; 
}, ''); 
+0

を私はこれが "正しい" アプローチだと思います。コレクションを単一の値にマッピングすることは、厳密に言えば削減です。マッピング+結合のループも保存されます。 –

0

代替ソリューションをArray.reduce機能使用:

var barValues = myArr.reduce((a,b) => (a['bar'] || a) + "," + b['bar']); 
console.log(barValues); // "1,2,3,4" 
関連する問題