こんにちは、@codeship_techです。
今回はpythonやjavascriptなどでも頻出するmap関数についてのQ&Aです!
配列のmap関数って何ですか?
各要素に対して決まった繰り返し処理をして、新しい配列を生成するのに使える便利な関数です。決まった繰り返し処理といえばforですが、JavaScriptのEES5以降ではもっと簡単でおしゃれな書き方で書けます。[1,2,3,4,5,6]といったような各要素を二乗した配列を作ることを考えます。
まずは通常のfor文で書いてみます。
const list = [1,2,3,4,5,6];
const newList = [];
for(let i = 0; i< list.length ; i++){
newList[i] = list[i]*list[i];
}
console.log(newList); //[1,4,9,16,25,36]
list[i]が煩わしい気がします。
これをforEach文で書き直すとこうなります。
const list = [1,2,3,4,5,6];
const newList = [];
list.forEach(function(item, index){
newList[index] = item*item;
}
console.log(newList);
newListの宣言が煩わしい気がします。
これをmapで修正するとこうなります。
js
const list = [1,2,3,4,5,6];
const newList = list.map(function(item){
return item*item;
});
console.log(newList) //[1,4,9,16,25,36]
returnされたものが新しい配列の要素一つになります。
「新しい配列はlistから生成するんだ」ということが一瞬で伝わって、非常にすっきり書けていますね。
「自分自身を更新(して複製)」する時にMapは便利です。
これを使うとReactのDOMを複数生成するのに便利だったりします。
授業日記についてのご意見
CodeShipの授業について「こんな事が知りたい・紹介して」というご意見・ご提案がありましたら、CodeShip公式Twitterアカウント(【CodeShip】プログラミングスクール)までDMまたはリプライにてお寄せください。