javascript - 根据坐标识别顺序

标签 javascript algorithm

我想将坐标 (𝑥,𝑦) 映射到特定订单 ID,这将帮助我跟踪坐标何时发生变化。

我需要一个根据坐标获取特定 ID 的公式。

以下是坐标的一些示例:

00-1
10-2
01-3
11-4
02-5
12-6
03-7
13-8
04-9
14-10
05-11
15-12

我可以使用这些值的 map ,但不确定它会增长到多大。

传递坐标时无法识别获取顺序的公式。

有人可以识别这里的逻辑吗..

谢谢

最佳答案

以下是两个方向的两个函数:

const toId = (x, y) => 1 + x + 2*y;
const toCoord = (id) => [--id % 2, id >> 1];

// Demo:
for (let id = 1; id < 16; id++) {
    let [x, y] = toCoord(id);
    let id2 = toId(x, y);
    console.log(id + " to coordinates: [" + x + "," + y + "] ...and back to id: " + id2);
}

关于javascript - 根据坐标识别顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59155065/

相关文章:

javascript - 修复循环内 if/else 的圈复杂度

javascript - Onkeydown javascript 数学

algorithm - 程序正在等待 goroutines 完成,但 goroutines 被死锁

c++ - 从数组中删除重复项的算法不起作用

javascript - UnhandledPromiseRejectionWarning : Error: Protocol error (Runtime. callFunctionOn) : Target closed. (Puppeteer)

javascript - 使属性可调用或不可调用

javascript - 使用静态 HTML 文件的主干路由

algorithm - Matlab 中多重投影的快速算法

java - 解决 Java 中不明确的结构

c++ - 如何优化for循环?