簡體   English   中英

使用JS數組表示不確定大小的2d空間 - 負指數?

[英]Representing 2d space of indeterminate size with JS arrays - negative indexes?

我想在2d JS數組中代表2d笛卡爾坐標。 2d空間具有不確定的大小(也可以擴展到-x和-y空間)。 這適用於正x和y值,但在JS數組中最小索引為0時,我無法擴展到負x和y空間。

我已經閱讀了一些關於在JS中使用否定索引的可能性的簡短信息,並且顯然這些在技術上是可行的,但是沒有得到適當支持(例如,數組函數不能正常工作)。

我相信其他人必須有類似的要求,所以我想問一下 - 在JS中推薦這種建模的方法是什么? 負數組索引是否可行?

你確定你需要負面的意見嗎? 通常,計算機圖形的每個坐標系都從左上角的(0/0)處開始。 他們在其他地方畫出了他們的軸。

因此,有限大小的解決方案只是改變坐標。 此外,您可以在Arrays上使用否定indizes,但最好稱之為“數組對象上的鍵”。 如果你知道它們的局限性,你可以使用它們:

  • Array.length僅適用於正向indizes。
  • 因此,您無法從0循環到a.length - 您必須找到另一種解決方案。 (並且不要考慮for-in)。
  • 因此,您需要確定循環的負啟動 - 讓它成為數組Object的常量,甚至是另一個屬性(沒有自動更新功能!)。

但是,你說你的空間是不確定的。 問題在於沒有無限的數據結構 - 沒有編程語言。 當然陣列indizes可能變得非常大,但你真的需要它們嗎? 我非常確定一個大小為(2 ^ 32)^ 2的二維數組只不過是對內存空間的巨大浪費 - 或者至少會使你的應用程序極其緩慢。

考慮一個包含表示點的對象的一維數組可能會更好。您可以輕松地在其上循環,您可以為坐標值設置任意數字,並且它們不需要那么多內存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM