pair - массив из двух элементов или объект с двумя полями.
["a", "b"]
{"fst": "a", "snd": "b"}
map<string, vector<float> >
Объект или Map у которого в качестве значения - массив, а в качестве ключа-строка.
{"a": [1.2, 3.5]}
map<pair<string, string>, float>
С этим сложнее, тк что массивы, что объекты в js сравниваются по ссылке => вариант того, как мы представляем pair сам по себе не подойдёт.
Так что тут лучше будет вместо pair использовать строку, которая создана как конкатенация двух экранированных строк через разделитель.
const map = {};
const a = "abc";
const b = "123";
const key = `${btoa(a)}$${btoa(b)}`;
map[key] = 42;