Предположим, я создал объект Map как этот Map {"a" => "apple", "b" => "banana"}
:реверсировать ES6 Карта
m = new Map([ ["a", "apple"], ["b", "banana"] ]);
Теперь я хочу, чтобы отменить его и получить Map {"b" => "banana", "a" => "apple"}
Я вижу единственный способ сделать это следующим образом:
new Map(Array.from(m.entries()).reverse());
который не выглядит ни кратким, ни простым. Есть ли лучший способ?
Что именно вы считаете «лучше»? Может быть, просто введите этот код внутри функции? 'function reverseMap (map) {...}'. Никто не должен знать уродливую правду .... –
Если вы заботитесь о порядке карты, я бы рекомендовал использовать массив в первую очередь. 'На самом деле, карты упорядочены только для того, чтобы быть детерминированными и согласованными в разных машинах, а не заказывать их вручную. – Bergi
@Bergi Я использую Map, потому что мне нужны уникальные ключи: только одно возможное значение в коллекции для каждого ключа. –