2016-08-16 7 views
0

私はオブジェクトの配列を持ち、各オブジェクトにはいくつかのプロパティがあります。私はどのようにすべてのオブジェクトから1つのプロパティだけキーと値を配列で返すことができますか?オブジェクト内のプロパティのキーと値を返します

今、私は唯一の値に

を取得していますこれは、オブジェクトの配列を返します。

var columnWidth = $('#grid').data('gridData').columns; 

これは、各オブジェクトから幅という名前のプロパティの値の配列を返す:

columnWidth.map(function(e) {return e.width;}); 

今戻ってくるのはこれです:

[30, 50, 80, 80, 90, 125] 
私は戻って取得したい何

["Width":30, "Width":50, "Width":80, "Width":80, "Width":90, "Width":125] 
+4

作成しようとしている形式が有効なjavascriptではありません。配列内に名前付き項目を持つことはできません –

答えて

4

それからちょうどそれらのオブジェクトを返します。

columnWidth.map(function(e) {return { width: e.width }; }); 

あなた

[ { width: 30 }, { width: 50 }, ... ] 

のように見えるのアレイ(使用をあげますプロパティ名を大文字にする場合は Width: e.width

質問に記載されている形式は意味がありません。配列のインデックスは数値なので、そのようなJavaScriptデータ構造はありません。別の構造が必要な場合は、.map()または.reduce()で行うことができます。

このソリューションでは、オブジェクトの配列が得られます。各オブジェクトには、「width」という名前のプロパティが1つあります。これは、あなたが述べた目標に最も近い近似のようです。

+2

'return {" Width ":e.width}; } '戻り値はオブジェクトの配列になります:) :) – bipen

+2

@bipenああプロパティ名を大文字にする必要があります。しかし、引用する必要はありません。 – Pointy

関連する問題