Реализация двумерных массивов с помощью карт в Javascript - PullRequest
0 голосов
/ 07 апреля 2020

Я использую двумерный массив в некотором коде, который я хотел бы заменить на более подходящую структуру данных в контексте, а именно Карта . Я хотел бы использовать методы Map, а также надеюсь, что производительность улучшится таким образом. Однако я сталкиваюсь со следующей проблемой:

const myMap = new Map();
myMap.set([1,2],"some value");
console.log(myMap.get([1,2]));

Это возвращает undefined. Я вроде понимаю, почему это так, но это неудобно. Следующие работы, но не могут быть использованы на практике. (Представьте, что я хочу проверить карту по некоторой координате, которая получается в результате некоторых вычислений, она просто не может ссылаться на ту же координату, где была установлена ​​Карта.)

const myMap = new Map();
const someCoord = [1,2];
myMap.set(someCoord,"some value");
console.log(myMap.get(someCoord));

Есть ли обходные пути для этого? Или карты не подходят для такого рода реализации двумерных массивов?

1 Ответ

2 голосов
/ 07 апреля 2020

Два разных объекта никогда не могут быть оценены как истинные с помощью сравнения, вы можете использовать строки в качестве ключа вместо массива

const myMap = new Map();
myMap.set([1, 2].toString(), "some value");
console.log(myMap.get([1, 2].toString()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...