2022年04月23日

javascript:map()

このメソッドの説明

map() はJavaScriptのメソッドです。

配列の各要素を処理して新しい配列を生成します。

 

このmap()の使い方には色々な方法がありますが、ここでは一般的に良く使う方法だけを解説します。


メソッド

Array.map(function( item ){ここに item の処理を記述します})

 


パラメータ

item(変数)(必須

現在処理中の要素の値が入ります。

 

※上記以外にインデックスや配列を取得するパラメータもありますが、通常は使わないと思うので説明は割愛します。

 


戻り値

処理された後の配列が戻ります。

 


事例

①配列の値を倍にした配列を作成する。

var data_array = [ 1,2,3,4,5];
var ans_array = data_array.map(function(item){return item*2;}); // 配列の値をitemで呼び出して処理しています。
console.log(data_array);
console.log(ans_array);

2行目:配列の各値を2倍にした新しい配列を作成しています。

3行目:元の配列の出力。下記が表示されます。

(5) [1, 2, 3, 4, 5]

4行目:新しい配列の出力。下記が表示されます。

(5) [2, 4, 6, 8, 10]

 

②RGBコードをHEXコードに変更する

・RGBコード:rgbrgb(9,15,250)は

・HEXコード:#090ffa になります。

すなわち 9→09、15→0f、250→fa に変換する必要があります。

よってRGBコードを取り出し、16進に変換し、頭に0を付け、後ろから2桁の文字を取り出す方法で変換します。

[mapメソッドを使った場合]

var rgb_color = 'rgb(9,15,250)';
var hex_color ="#" + rgb_color.match(/[\d]+/g).map(function(rgb){return ('0' + parseInt(rgb).toString(16)).slice(-2)}).join('');
console.log(rgb_color);
console.log(hex_color);

■2行目

上記の処理で[9,15,250]が[09,0f,fa]という新しい配列を作成しています。

この新しい配列を連結した文字列に変えて、頭に#を付けています。

■3行目、4行目

rgb(9,15,250)
#090ffa

【参考】

上記をfor...ofメソッドを利用すると下記の様になります。

var rgb_color = 'rgb(9,15,250)';
var rgb_array =rgb_color.match(/[\d]+/g); // RGBデータを配列で取得する
var hex_data = '#';
for ( val of rgb_array ) { 
   hex_data = hex_data + ('0'+parseInt(val).toString(16)).slice(-2);  // HEXデータを2桁ずつ追加する	
}
console.log(rgb_color);
console.log(hex_data);

map()を使った方が簡単になります。

 


参考情報

他の配列メソッドはは、配列操作を参照してください。

 

関数一覧
  • 1.JavaScript/jQueryとは
  • 2.[JS] 変数規則と文字連結
  • 3.[JS] if文
  • 4.[JS] 配列操作
  • 5.[JS] 文字列操作
  • 6.[JS] 画面情報&操作
  • 7.[JS] Timer処理
  • console.log()
  • for
  • for in
  • for of
  • indexOf()
  • join()
  • length
  • map()
  • match()
  • Object.keys()
  • Object.values()
  • parseInt()
  • pop()
  • push()
  • replace()
  • shift()
  • slice()
  • split()
  • toString()
  • unshift()
  • 1.jQueryの導入と記述の基本
  • 2.jQueryの機能追加
  • 3.jQuery文法
  • 4.階層構造の要素セレクトと操作
  • 5.要素サイズ取得メソッド
  • animate()
  • append()
  • attr()
  • change(func)
  • click()
  • click(func)
  • css()
  • each(func)
  • effect()
  • empty()
  • fadeTo()
  • get()
  • hover(f1,f2)
  • html()
  • map(func)
  • mousedown(func)
  • prop()
  • resize(func)
  • show()、hide()
  • slideToggle()
  • submit()
  • submit(func)
  • text()
  • toggle()
  • toggleClass()
  • val()