我想在 2d JS 数组中表示 2d 笛卡尔坐标。2d 空间的大小不确定(也可以扩展到 -x 和 -y 空间)。这对于正 x 和 y 值很好,但是在 JS 数组中最小索引为 0 时,我无法扩展到负 x 和 y 空间。
我已经阅读了一些关于在 JS 中使用负索引的可能性的简短信息,显然这些在技术上是可行的,尽管没有得到适当的支持(例如数组函数不能正常工作)。
我敢肯定其他人一定有类似的要求,所以我想问一下——在 JS 中建模的推荐方法是什么?负数组索引是可行的解决方案吗?
我想在 2d JS 数组中表示 2d 笛卡尔坐标。2d 空间的大小不确定(也可以扩展到 -x 和 -y 空间)。这对于正 x 和 y 值很好,但是在 JS 数组中最小索引为 0 时,我无法扩展到负 x 和 y 空间。
我已经阅读了一些关于在 JS 中使用负索引的可能性的简短信息,显然这些在技术上是可行的,尽管没有得到适当的支持(例如数组函数不能正常工作)。
我敢肯定其他人一定有类似的要求,所以我想问一下——在 JS 中建模的推荐方法是什么?负数组索引是可行的解决方案吗?
你确定你需要负索引吗?通常,计算机图形的每个坐标系都从屏幕左上角的 (0/0) 开始。他们在别处画轴。
因此,有限大小的解决方案只是变换坐标。此外,您可以在数组上使用负索引,但最好将其称为“数组对象上的键”。如果您知道它们的局限性,则可以使用它们:
但是,你说你的空间是不确定的。问题只是没有无限的数据结构——没有编程语言。当然数组 indizes 可能会变得非常大,但你真的需要它们吗?我非常确定大小为 (2^32)^2 的二维数组只不过是对内存空间的巨大浪费——或者至少是让你的应用程序非常慢的东西。
考虑一个包含表示点的对象的一维数组可能会更好。您可以轻松地循环它,您可以有任意数量的坐标值,并且它们不需要那么多内存。