<目次>
(1) JavaScriptのMapでforeachを使って各要素を処理する方法
(1-1) 構文
(1-2) サンプルプログラム
(1-3) 補足:functionの引数について
(1) JavaScriptのMapでforeachを使って各要素を処理する方法
JavaScriptのMapオブジェクトはforeachを使って各要素に対して、引数で与えたfunction処理を適用する事が出来ます。
(1-1) 構文
(構文)
[Map型オブジェクト].forEach([各要素に適用するfunction]);
(構文説明)
| [Map型オブジェクト]. | new Map()などでMapオブジェクトを作り、そこにキー(key)や値(value)をセットしたものを使います。 |
| [各要素に適用するfunction] | functionは次のようにvalue、key、mapを引数として受け取れます。 function(value, [key(任意)], [map(任意)]); |
fruits.forEach(OutputConsole);
(1-2) サンプルプログラム
●JavaScript
function OutputConsole(value, key, map){
console.log(`m[${key}] = ${value}`);
}
function MapTest2(){
//# Mapの挙動確認②
//# Mapの生成&キーと値のセット
let fruits = new Map([["5","StringVal"],[5,"NumberVal"],[false,"BooleanVal"]]);
//# forEachで書く要素に「OutputConsole」を適用
fruits.forEach(OutputConsole);
}
(図121)

●JSP
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="js/IT0xxx_JsMapTest2.js" type="text/javascript" charset="UTF-8"></script> <title>JavaScript Self Test</title> </head> <body> <h2>■Mapの挙動確認②</h2> <input type="button" value="Mapテスト実行" onclick="MapTest2()"> </body> </html>
(図122)

(図123)実行結果

(1-3) 補足:functionの引数について
引数が「任意」と書いていますが、具体的にはどのように指定が可能なのかを明確にするため、いくつかのパターンを試しました。試した範囲では、以下の規則が見受けられました。
| 図 | 引数パターン | 処理 | 結果 |
| (図123) | value, key, map | `m[${key}] = ${value}` | OK |
| (図124) | value, key | `m[${key}] = ${value}` | OK |
| (図125) | key | `m[${key}]` | OK |
| (図126) | value | `${value}` | OK |
| (図127) | key,map | `m[${key}] = ${map.get(key)}` | NG |
| (図128) | value, key, map | `m[${key}] = ${map.get(key)}` | OK |
| (図129) | key,map | `m[${key}]` | OK |





