2016-03-28 16 views
0

私はこの質問をgoogleで検索しましたが、適切な解決策は見つかりませんでした。オブジェクトの配列からキーと値を抽出する

私は以下のようにオブジェクトの配列を持っていると仮定 -

"points":[{"pt":"Point-1","value":"Java, j2ee developer"},{"pt":"Point-2","value":"Experienced in Core Java, Spring, Hibernate, JPA, Big Data, SOA, BPEL"}] 

今のアレイ上から私は私の結果は以下のようになりますように、特定のペアのためのwellas値としてキーを抽出したい -

[{"value":"Java, j2ee developer"},{"value":"Experienced in Core Java, Spring, Hibernate, JPA, Big Data, SOA, BPEL"}] 

これは手動ループを使用して行うことができます。しかし、私はループしたくない。 lodashやその他のAPIを使って1つの結果を得ることは可能ですか?

+0

は '私は、特定のpair'ためwellas値を使用すると、特定のペアで何を意味していますように、キーを抽出したいですか?どのような条件で配列の項目をフィルタリングしたいですか? – gurvinder372

答えて

2

あなたの配列をmapすることができます:あなたはJavascriptの最新バージョンを使用している場合

var points = [ 
    { 'pt': 'Point-1', 'value': 'Java, j2ee developer' }, 
    { 'pt': 'Point-2', 'value': 'Experienced in ...' } 
]; 

var result = points.map(function(p) { 
    return { value: p.value }; 
}); 
+0

こんにちは、希望の値を返すが、それはJSON形式で返されていません。 として返されている[{値 ":" Java、j2ee開発者 "}、{"価値 ":"コアJava、Spring、Hibernate、JPA、Big Data、SOA、 これは、他のオブジェクトには割り当てられないため、{value: 'Java、j2ee developer'}、{value: 'Core Java、Spring、Hibernate、JPA、Big Data、SOA、BPEL' – rraghuva

+0

@rraghuvaこれはjavascriptオブジェクトを返します。結果として文字列が必要な場合は、例:JSON.stringify(result) – madox2

1

また、あなたはあなたが気にプロパティを抽出することができ、マップするために、あなたの呼び出しで構造化代入を利用することができますエレガントな方法。

points.map(({ value }) => ({ value })); 

矢印関数は、引数としてpointオブジェクトを取り、valueという変数にpoint.valueプロパティをdestructureする{ value }を使用しています。

次に、キーと値の両方としてvalueを使用する略記オブジェクトリテラルを返します。

バベルでコンパイルしたとき、我々が得る:

points.map(function (_ref) { 
    var value = _ref.value; 
    return { value: value }; 
}); 
+0

コンソールでテストしました。あなたが新しい機能の破壊をどのように理解しているのかを '[undefined、undefined]' –

+0

@ madox2と表示しています。私が理解することは難しいです。 :\ –

関連する問題