Это не карта, это объект.(Вы можете использовать Map
.)
Чтобы получить его свойства в виде пар ключ / значение, вы можете использовать Object.entries
, который вызатем можно применить map
к:
map = Object.entries(map).map(([key, value]) => key + "_" + value);
Object.entries
является относительно новым, но легко заполняемым для более старых сред.
Live Пример:
var map = {"a": 1, "b": 2, "c": 3};
map = Object.entries(map).map(([key, value]) => key + "_" + value);
console.log(map);
Или, используя Map
, вы можете использовать его встроенный метод entries
, который возвращает итерацию, передавая ее в Array.from
ииспользуя обратный вызов сопоставления Array.from
:
var map = new Map([
["a", 1],
["b", 2],
["c", 3]
]);
map = Array.from(map.entries(), ([key, value]) => key + "_" + value);
console.log(map);
(Или разверните итерируемое в массив - [...map.entries()]
- и используйте на нем map
, но вышеизложенное позволяет избежать временного одноразового массива.)
В обоих случаях я использую деструктуризацию в списке параметров функции стрелки, которая получает массив в формате [key, value]
.