<目次>
(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 |
