Да, в JavaScript существует возможность перебирать словарь внутри словаря Map. Для этого используется метод Map.prototype.forEach() или цикл for...of вместе с методом Map.prototype.entries().
Рассмотрим пример использования метода forEach():
// Создаем вложенный словарь Map let outerMap = new Map(); outerMap.set('key1', new Map([['innerKey1', 'value1'], ['innerKey2', 'value2']])); outerMap.set('key2', new Map([['innerKey3', 'value3'], ['innerKey4', 'value4']])); // Перебираем внешний словарь outerMap.forEach((innerMap, key) => { console.log(`Внешний ключ: ${key}`); // Перебираем внутренний словарь innerMap.forEach((value, innerKey) => { console.log(`Внутренний ключ: ${innerKey}, Значение: ${value}`); }); });
В этом примере мы создаем вложенный словарь Map, где внешние ключи - это 'key1' и 'key2', а значение каждого ключа - это внутренний словарь Map. Затем мы используем метод forEach() для перебора внешнего словаря. Внутри колбэк-функции forEach(), мы перебираем внутренний словарь Map, используя метод forEach() вложенного словаря.
Также можно использовать цикл for...of с методом entries(), чтобы перебрать внешний и внутренний словари:
for (let [outerKey, innerMap] of outerMap.entries()) { console.log(`Внешний ключ: ${outerKey}`); for (let [innerKey, value] of innerMap.entries()) { console.log(`Внутренний ключ: ${innerKey}, Значение: ${value}`); } }
В этом примере мы используем цикл for...of, чтобы перебрать пары ключ-значение во внешнем словаре (с помощью метода entries()). Затем с помощью вложенного цикла for...of и метода entries() мы перебираем внутренний словарь.