JavaScript map の使い方 #3

株式会社リュディアです。JavaScript でサポートしている高階関数の1つである mapメソッド(以下、map) についてまとめてみます。第3回目です。掲載するソースコードはすべて GAS の開発環境で動作確認をしています。

JavaScript map の使い方 #3 では、JavaScript map の使い方 #2 のプログラム例を題材とし、アロー関数で記述してみます。過去の記事でアロー関数についても紹介していますので、先に以下の記事を読んでから本記事を読み進めてください。

JavaScript アロー関数
JavaScript map の使い方 #1
JavaScript map の使い方 #2

JavaScript map の使い方 #2 の記述とアロー関数で書き直した記述です。もちろん同じ結果となりますし、どちらが正しい、というわけでは無いです。状況により使い分ければと思います。

function myFunction1() {
 const inputArray = [ 1, 3, 10, 17, 20, 31 ];
 
 const returnArray = inputArray.map( function( currentValue ) {
                                       return currentValue * 2;
                                     }
                                   );
 console.log( returnArray );
}

// アロー関数版
function myFunction_arrow1() {
 const inputArray = [ 1, 3, 10, 17, 20, 31 ];
 
 const returnArray = inputArray.map( currentValue => currentValue * 2 );

 console.log( returnArray );
}

// 実行結果
// [ 2, 6, 20, 34, 40, 62 ]
function myFunction3() {
 const inputArray = [ 1, 3, 10, 17, 20, 31 ];
 
 const returnArray = inputArray.map( function( currentValue ) {
                                       if ( currentValue > 10 )
                                         return currentValue * 2 ;
                                       return currentValue ;
                                     }
                                   );
 console.log( returnArray );
}

// アロー関数版
function myFunction_arrow3() {
 const inputArray = [ 1, 3, 10, 17, 20, 31 ];
 
 const returnArray = inputArray.map( currentValue => {if (currentValue > 10 )
                                                        return currentValue * 2;
                                                      return currentValue ;} );

 console.log( returnArray );
}


// 実行結果
// [ 1, 3, 10, 34, 40, 62 ]
function myFunction4() {
 const inputArray = [ 1, 3, 10, 17, 20, 31 ];
 
 const returnArray = inputArray.map( function( currentValue, index ) {
                                       if ( index > 4 )
                                         return currentValue * 3 ;
                                       return currentValue ;
                                     }
                                   );
 console.log( returnArray );
}

// アロー関数版
function myFunction_arrow4() {
 const inputArray = [ 1, 3, 10, 17, 20, 31 ];
 
 const returnArray = inputArray.map( ( currentValue, index ) => {if ( index > 4 )
                                                                   return currentValue * 3;
                                                                 return currentValue ;} ) ;
                                      
 console.log( returnArray );
}

// 実行結果
// [ 1, 3, 10, 17, 20, 93 ]
function myFunction5() {
 const inputArray = [ 1, 3, 10, 17, 20, 31 ];
 
 const returnArray = inputArray.map( function( currentValue, index, array ) {
                                       if ( index < inputArray.length - 1 )
                                         return array[ index + 1 ];
                                       return array[ 0 ];
                                     }
                                   );
 console.log( returnArray );
}

// アロー関数版
function myFunction_arrow5() {
 const inputArray = [ 1, 3, 10, 17, 20, 31 ];
 
 const returnArray = inputArray.map( ( currentValue, index, array ) => { if ( index < inputArray.length - 1 )
                                                                           return array[ index + 1 ] ;
                                                                         return array[ 0 ] ;} );
 
 console.log( returnArray );
}
// 実行結果
// [ 3, 10, 17, 20, 31, 1 ]

では、ごきげんよう。


この記事が気に入ったらサポートをしてみませんか?