Я пытаюсь обновить свой код до ES6, поскольку я использую Node 4.0 и действительно люблю его функции. Однако у меня возникают проблемы с новой структурой данных ES6 Map
, поскольку она ведет себя по-другому с {}
при использовании Array
в качестве ключа. Я использую его как счетную карту.Использование объектов Array в качестве ключа для ES6 Map
Я запустил этот код, и я хотел бы знать, как я могу использовать массивы в качестве ключей для Map
.
"use strict";
var a = new Map();
a.set(['x','y'], 1);
console.log(a.get(['x','y']));
var b = {};
b[['x','y']] = 1;
console.log(b[['x','y']]);
Она выводит следующее и первая строка должна быть 1
и не undefined
:
undefined
1
Оригинальная карта JS stringifies ключ и я, не желая, чтобы сделать тот же самый тип stringify хака с новым ES6 Map
.
Что я могу сделать, чтобы использовать массивы как ключи надежно для ES6 Map
?
Спасибо за подробный ответ, но переопределение '.get()' не то, что я хочу сделать – jimjampez