reduce (Map)
Mapのエントリを反復処理してコールバック関数を適用し、単一の値に縮小します。
typescript
const result = reduce(map, callback, initialValue);INFO
この関数は、他のコレクション型の類似関数との潜在的な競合を避けるため、es-toolkit/mapから独占的に利用できます。
使用法
reduce(map, callback, initialValue?)
各エントリから結果を蓄積してMapを単一の値に変換したい場合は reduce を使用してください。各エントリを処理してアキュムレータを更新するコールバック関数を提供してください。初期値が提供されると、アキュムレータの開始値として使用されます。初期値が提供されずMapが空の場合、TypeErrorがスローされます。
typescript
import { reduce } from 'es-toolkit/map';
const map = new Map([
['a', 1],
['b', 2],
['c', 3],
]);
const result = reduce(map, (acc, value) => acc + value, 0);
// 結果: 6様々な方法でMapを縮小できます。
typescript
import { reduce } from 'es-toolkit/map';
// 初期値を使用して合計を計算します。
const scores = new Map([
['alice', 95],
['bob', 87],
['charlie', 92],
]);
const totalScore = reduce(scores, (acc, score) => acc + score, 0);
// 結果: 274
// 初期値なし(最初の値を使用)
const numbers = new Map([
['a', 10],
['b', 20],
]);
const sum = reduce(numbers, (acc, value) => acc + value);
// 結果: 30 (最初の値10から開始)
// Mapからオブジェクトを構築します。
const settings = new Map([
['theme', 'dark'],
['lang', 'en'],
['notifications', true],
]);
const config = reduce(settings, (acc, value, key) => ({ ...acc, [key]: value }), {} as Record<string, any>);
// 結果: { theme: 'dark', lang: 'en', notifications: true }パラメータ
map(Map<K, V>): 縮小するMapです。callback((accumulator: A, value: V, key: K, map: Map<K, V>) => A): 各エントリを処理してアキュムレータを更新する関数です。initialValue(A, オプション): アキュムレータの初期値です。提供されない場合、Mapの最初の値が使用されます。
戻り値
(A): 最終的に蓄積された値を返します。
例外
(TypeError): Mapが空で初期値が提供されない場合にスローされます。

