【javascript】key/valueが異なるオブジェクトを含んだ配列を作る方法

map関数は既存の配列を全てラップし、全ての配列の要素に必ず1回は処理を実行する仕様になっています。

サンプルコードはxがn番目の配列の要素であり、この要素一つ一つに2をかけています。


const array1 = [1, 4, 9, 16];</pre>
// pass a function to map

const map1 = array1.map(x => x * 2);
<pre>

array1.mapで生成した配列を変数にいれて使うことができます。

オブジェクトを含んだ配列を新しい配列として作るには、map処理内で適当なオブジェクトを

作り、n番目の要素を各keyに入れてreturnをする必要があります。

</pre>
let wrappedArray = this.state.itemList.map(obj => {
let rObj = {}
rObj["Id"] = Number(obj.Id)
rObj["name"] = obj.name
rObj["count"] = obj.count
return rObj
})
<pre>

 

先ほどの数値だけが入った配列は、並び・個数が変わらないのでreturnせずにそのまま

代入して使えますが、map前と構成が異なる配列を作る時は、オブジェクトを任意のkey(idとかname)に

入れ直してreturnをする必要があります。

foreachでも同じことができますが、こっちのほうが書きやすいかな。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG