udelej z toho string.
Pôvodne som to mal ako string. Lenže predstavte si že chcete napríklad získať všetky hodnoty vo vnútri obdĺžnika, ktorý je definovaný dvomi súradnicami xy - príklad:
const values = dynamic2dCollection.getRectValuesBetween({ x: 10, y: 20}, {x: 50, y: 50})
A na to potrebujete v cykle prejsť celú mapu a vždy každý key rozdeliť na pole
const posXY = key.split(',')
obidva prvky pola skonvertovať na number a až potom testovať či sa pozícia nachádza niekde medzi súradnicami. A intuitícia mi hovorí že operácie nad stringom a konverzia na number by boli rádovo pomalšie ako rozdelenie 64bit čísla na dve 32 bitové.
Mapa v JavaScriptu má jako klíče stringy, takže je nesmysl pokoušet se tam něco složitě zakódovat do čísla. Pokud by skutečně bylo efektivnější použít jednu mapu, ta dvě čísla prostě rovnou spojte do jednoho Stringu.
vy máte asi namysli js plain objekt použitý ako mapu. Ten používa iba stringové kľúče. Ale dnes už Javascript obsahuje aj špeciálnu kolekciu Map
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map Tá funguje aj s číselnými kľúčmi (a nekonvertuje ich na string):
const mapa = new Map();
mapa.set(5.6, 'priradená hodnota')
console.log('správny typ kľúča', mapa.get(5.6)) // vráti 'priradená hodnota';
console.log('nesprávny typ kľúča', mapa.get('5.6')); // vráti undefined
Když použijete normální mapu v mapě, má to nedostatečný výkon? Je to jenom můj odhad, ale použitím jedné mapy místo mapy map podle mne zásadní nárůst výkonu nezískáte.
Stál som si na kábli, máte pravdu mapa máp je najpriamočiarejšie riešenie ďakujem Vám za tip.