4

複数のオブジェクトの名前付き/インデックス付きフィールド(各オブジェクトの1つのフィールドなど)を文字列に連結するJavaScriptの方法はありますか?

var theArray = [{
 field1: "TEXT",
 field2: "VAL"
 ...
},
{
 field1: "text",
 field2: "val"
 ...
}
...
];

イデオマシー (イデオマティック プログラミング) のためにfield1、for ループを使用せずに配列内のすべての値を連結する方法があるかどうかを知りたいと思います。

何かのようなもの

theArray.getFieldValues[0].join(', ');

ここにはどのオプションがありますか?

  • 配列のオーバーロード - それはしません。
  • ヘルパー関数 - ループしたくありません。

jQueryにはfilter関数とgrep関数がありますが、それらは要素をフィルタリングするだけです。すでに次のようなものがあるかどうか知りたいです

theArray.grepNewObject(function(o){ return o.field1; }).join(', ');
4

1 に答える 1

3

最初にmapを使用して just の配列を取得してfield1から結合できます。

theArray.map(function(x){return x.field1}).join(', ');

IE 8 以前ではマップをシムする必要があることに注意してください。または、jQuery を使用しているため、クロスブラウザー ソリューションにjQuery.mapを使用できます。

$.map(theArray, function(x){return x.field1}).join(', ');
于 2013-06-26T12:05:33.433 に答える