2017-12-16 23 views
0

私は別の配列を持っています。例えばのため:2つの異なる配列からオブジェクトの配列を作成する

アレイ1:

[536, 549] 

アレイ2は、次のとおりです。

[ 
    { text: "ABCD", value: 341 }, 
    { text: "WXYZ", value: 439 } 
] 

私のようにオブジェクトを作成したい:私はどのように考えている

[ 
    { 
     fieldId: 536, 
     value: { 
      value: 341, 
      display_value: "ABCD" 
     } 
    }, 
    { 
     fieldId: 549, 
     value: { 
      value: 439, 
      display_value: "WXYZ" 
     } 
    } 
] 

これを行う。前もって感謝します。 :)マップ()のための

+0

あなたが必要とするのは、ループと新しい配列です。 – pwolaq

+0

@pwolaqあなたはどうすれば教えていただけますか? –

答えて

2
const arr_1 = [536, 549] 
const arr_2 = [{text: "ABCD", value: 341},{text: "WXYZ", value: 439}] 

// with map 
let new_arr = arr_2.map((ele, index) => { 
    return { 
    fieldID: arr_1[index], 
    value: { value: ele.value, display_value: ele.text } 
    }; 
}); 

// with for loop 
let new_arr2 = []; 
for(let i = 0; i < arr_2.length; i++){ 
    new_arr2.append({ 
    fieldID: arr_1[i], 
    value: { value: arr_1[i].value, display_value: arr_1[i].text } 
    }); 
} 

ドキュメント:アレイ用の https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

ドキュメント:オブジェクトのための https://developer.mozilla.org/en-US/docs/Glossary/array

ドキュメント:持っていることが望まれる https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object

わからない場合数字を文字列として返します。 toString()を使用する必要があります。また、それはここでJSON.stringify()

+0

私は自分の望むようにオブジェクトを取得していません。 –

0
const arr1 = [ 536, 549 ]; 
const arr2 = [ 
    { text: "ABCD", value: 341 }, 
    { text: "WXYZ", value: 439 } 
]; 

const result = arr1.map((value, index) => ({ 
    fieldId: value, 
    value: { 
     display_value: arr2[index].text, 
     value: arr2[index].value 
    } 
})); 

その使用を取得するには、最終的にはJSON文字列でなければなりませんかどうかわからない、resultを所望の値を保持します。

関連する問題