2017-03-27 7 views
-1

"葉"オブジェクトを引き出し、オブジェクトの新しい配列を作成するために、オブジェクトの配列をループしています。マップを使ってes6の新しいオブジェクトを返します

 let topic_data_leaf = topicData.hits.hits.map((hit) => { return hit._source }) 

     console.log("topic leaf": topic_data_leaf); 

topic_data_leafは、以下の構造を有する:

hits: { 
    hits: [ 
    {_id: "id12345" 
     _index: "index1" 
     _score: 5.7439504 
     _source: {field1: val1, field2: val2} 
     _type: "kafka" 
    } 
    [ 
} 

私は_sourceフィールド内のオブジェクトを引き出し、それらのオブジェクトの新しい配列を作成したい

私のコードは次のようになります。

+1

これは、私たちが知る限り、あなたのコードがしていることです( 'console.log'の': 'や、あなたの推測している配列の最後の' [' ']'を意味する)。質問はなんですか? –

+0

ああ、申し訳ありません... 'console.log'が未定義に戻ってきます...私はタイプミスを見ることができません....どこですか? – user2061886

+0

上記 'console.log'は実行されないため、何もしません。 (構文エラー。)さまざまな基本的な構文エラーを修正した場合、 'map'はうまく動作します:https://jsfiddle.net/dsrcbtba/ –

答えて

0

あなたのコードは、あなたが持っているいくつかの小さなエラー以外は正常に動作するはずです。

hits: { 
    hits: [ 
    {_id: "id12345" 
     _index: "index1" 
     _score: 5.7439504 
     _source: {field1: val1, field2: val2} 
     _type: "kafka" 
    } 
    ] // this line was '[' in your code 
} 

これは正しく機能するはずです:

let topic_data_leaf = topicData.hits.hits.map((hit) => { return hit._source }) 

console.log("topic leaf:", topic_data_leaf); // the colon shouldn't be outside the string 

はまた、あなたのオブジェクトが実際に正しいことを確認します。

関連する問題