2017-06-11 9 views
-3

私のAPIがそうのような結果を返すことになります。JSON APIレスポンスを受け取ったら、ReactのJSONオブジェクトを作成する方法は?

[ 
    { 
     "id":2, 
     "title":"Something", 
    }, 
    { 
     "id":231, 
     "title":"Another", 
    }, 
    ... 
] 

そして、私のアプリを反応させるので、私はそうのようなJSONオブジェクトを構築する必要があります。

const fields = [ 
    { 
    name: 'Something', 
    type: 'select', 
    options: [ 
     {}, 
     { label: '1', value: '1' }, 
     { label: '2', value: '2' }, 
    ], 
    }, 
    { 
    name: 'Another', 
    type: 'select', 
    options: [ 
     {}, 
     { label: '1', value: '1' }, 
     { label: '2', value: '2' }, 
    ], 
    }, 
    ... 
] 

オプションはに依存しない(一定に保たれますサーバーが返すもの)。

var origArray = [ {id:1, title: "xxx"}, 
        {id:2, title: "eee"}, 
        {id:3, title: "rrr"}, 
        {id:4, title: "ffff"}]; 

const fieldoptions = { 
    type: 'select', 
    options: [ 
    {}, 
    { label: '1', value: '1' }, 
    { label: '2', value: '2' }, 
    ] 
}; 

const fields = origArray.map(item => ({ 
name: item.title, 
fieldoptions 
})); 

console.log('fields'); 
console.log(fields) 

問題UPDATED私は動的APIに基づいて、このJSONオブジェクトを構築することができますどのように

が結果

おかげ

はには存在しないはずfieldoptionsの親が存在しています出力。

(4)[オブジェクト、オブジェクト、オブジェクト、オブジェクト] : オブジェクト fieldoptions : オブジェクト 名 : "実行"

+2

'Array.prototype.map()' – RomanPerekhrest

+1

あなたは何を試してみましたか?おそらくforループだけを繰り返して、フィールド[idx] .name = result [idx] .titleを作成するだけです。これはかなり些細なようです、あなたが提供できるより多くのコンテキストがありますか? – OneNeptune

+0

@RomanPerekhrestありがとうございました!私が受け入れることができる例に答えてもらえますか? thx – AnApprentice

答えて

0

あなたは上)(.MAPを呼び出すことになるでしょうあなたの配列は、関数を受け取り、それを配列のすべての要素に適用します。

この機能は、などのフィールドを追加することによって、あなたが望むものに、あなたが持っているデータを変換するものとなります

const fields = { 
    type: 'select', 
    options: [ 
    {}, 
    { label: '1', value: '1' }, 
    { label: '2', value: '2' }, 
    ] 
}; 

const result = data.map(item => ({ 
name: item.title, 
...fields 
})); 
+0

ありがとう、しかし、それは間違ってオブジェクトを構築するようです。結果は0:fields、nameであり、フィールドは存在してはならず、現在フィールドにあるすべての項目をレベルの上に移動する必要があります。それは理にかなっていますか? – AnApprentice

+1

が不適切です。これはすべてのアイテムに同じ 'fields'を共有します – RomanPerekhrest

+0

' fields'は親として存在しません – AnApprentice

関連する問題