forEach【反復要素処理】
[@@iterator]【イテレータオブジェクト作成】
entries【イテレータオブジェクト作成】
keys【キー要素イテレータ作成】
values【値要素イテレータ作成】
Map.prototype.forEach【反復要素処理】
メモ
概要
- 反復要素処理
関連
外部リンク
- ECMA-262 (英語)
Map.prototype.forEach ( callbackfn [ , thisArg ] ) ES2023 (14) ES2022 (13) ES2021 (12)
構文
Map.forEach( callbackfn [ , thisArg ] )
callbackfn 反復要素処理を行うコールバック関数 (詳細は下記参照)
thisArg コールバック関数内でthis で参照されるオブジェクト
TypeError 例外 callbackfnが呼び出し可能な関数オブジェクト以外
callbackfn (反復要素処理を行うコールバック関数)
パラメータ (例) | 説明 |
---|---|
value | 要素の値 |
key | 要素のキー |
mapObj | 対象 Map オブジェクト |
例
var map = new Map();
map.set(0, null);
map.set(1, "ONE");
map.set("two", 2);
map.set("abc", "ABC");
function forEachFunc1(value, key, mapObj) {
console.log("[" + key + "]:" + value);
}
map.forEach(forEachFunc1);
// 出力:[0]:null
// 出力:[1]:ONE
// 出力:[two]:2
// 出力:[abc]:ABC
function forEachFunc2(value, key, mapObj) {
console.log("[" + key + "]:" + value);
if (typeof value === 'string') {
this.push(value);
}
}
var array = new Array();
map.forEach(forEachFunc2, array);
// 出力:[0]:null
// 出力:[1]:ONE
// 出力:[two]:2
// 出力:[abc]:ABC
console.log(array);
// 出力:["ONE", "ABC"]
map.forEach(null); // TypeError 例外
Map.prototype[@@iterator]【イテレータオブジェクト作成】
メモ
概要
- キーと値から成るイテレータオブジェクト作成
関連
外部リンク
- ECMA-262 (英語)
Map.prototype [ @@iterator ] ( ) ES2023 (14) ES2022 (13) ES2021 (12)
構文
Map.[@@iterator]( )
キーと値から成るイテレータオブジェクト (for-of または next() で繰り返し)
for (const item of Map) {
処理
}
例
var map = new Map();
map.set(0, null);
map.set(1, "ONE");
map.set("two", 2);
map.set("abc", "ABC");
console.log("map.size =", map.size);
// 出力:map.size = 4
var mapIter1 = map[Symbol.iterator]();
for (var item of mapIter1) {
console.log(item);
}
// 出力:[0, null]
// 出力:[1, "ONE"]
// 出力:["two", 2]
// 出力:["abc", "ABC"]
var mapIter2 = map[Symbol.iterator]();
for (var i = 0; i < map.size; i++) {
console.log(mapIter2.next().value);
}
// 出力:[0, null]
// 出力:[1, "ONE"]
// 出力:["two", 2]
// 出力:["abc", "ABC"]
Map.prototype.entries【イテレータオブジェクト作成】
メモ
概要
- キーと値から成るイテレータオブジェクト作成
- for-of または next() で繰り返し
関連
外部リンク
- ECMA-262 (英語)
Map.prototype.entries ( ) ES2023 (14) ES2022 (13) ES2021 (12)
構文
Map.entries( )
キーと値から成るイテレータオブジェクト
例
var map = new Map();
map.set(0, null);
map.set(1, "ONE");
map.set("two", 2);
map.set("abc", "ABC");
var mapIter1 = map.entries();
for (var item of mapIter1) {
console.log(item);
}
// 出力:[0, null]
// 出力:[1, "ONE"]
// 出力:["two", 2]
// 出力:["abc", "ABC"]
var mapIter2 = map.entries();
for (var i = 0; i < map.size; i++) {
console.log(mapIter2.next().value);
}
// 出力:[0, null]
// 出力:[1, "ONE"]
// 出力:["two", 2]
// 出力:["abc", "ABC"]
for (var [key, value] of map.entries()) {
console.log("[" + key + "]:" + value);
}
// 出力:[0]:null
// 出力:[1]:ONE
// 出力:[two]:2
// 出力:[abc]:ABC
Map.prototype.keys【キー要素イテレータ作成】
メモ
概要
- キー要素イテレータ作成
- for-of または next() で繰り返し
関連
外部リンク
- ECMA-262 (英語)
Map.prototype.keys ( ) ES2023 (14) ES2022 (13) ES2021 (12)
構文
Map.keys( )
キー要素のイテレータ
例
var map = new Map();
map.set(0, null);
map.set(1, "ONE");
map.set("two", 2);
map.set("abc", "ABC");
var keys1 = map.keys();
for (var key of keys1) {
console.log(key);
}
// 出力:0
// 出力:1
// 出力:two
// 出力:abc
var keys2 = map.keys();
for (var i = 0; i < map.size; i++) {
console.log(keys2.next().value);
}
// 出力:0
// 出力:1
// 出力:two
// 出力:abc
Map.prototype.values【値要素イテレータ作成】
メモ
概要
- 値要素イテレータ作成
- for-of または next() で繰り返し
関連
外部リンク
- ECMA-262 (英語)
Map.prototype.values ( ) ES2023 (14) ES2022 (13) ES2021 (12)
構文
Map.values( )
値要素のイテレータ
例
var map = new Map();
map.set(0, null);
map.set(1, "ONE");
map.set("two", 2);
map.set("abc", "ABC");
var values1 = map.values();
for (var value of values1) {
console.log(value);
}
// 出力:null
// 出力:ONE
// 出力:2
// 出力:ABC
var values2 = map.values()();
for (var i = 0; i < map.size; i++) {
console.log(values2.next().value);
}
// 出力:null
// 出力:ONE
// 出力:2
// 出力:ABC