根据给定的数字自动检测1-5列

Automatically detect column from 1-5 by a given number

本文关键字:数字 自动检测 1-5列      更新时间:2023-09-26

我正在用5x5表编写小型JavaScript游戏。表中的每个字段都有自己的ID(从1到25)。我已经有一个函数put(id),它检查数字应该写在哪一行:

if (id > 0 && id <= 5)
     // write to first row
...

对列执行相同检查但不为每种情况编写子句的最佳方法是什么(如果id是3,则写入第三列/如果是20,则写入第一列等)?这是我目前唯一下定决心的事情(为每个字段制作两个元素数组,第一个为行,第二个为列,并在第二个函数中使用该数字作为参数):

[
[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], // [row, column]
[1, 0], [1, 1], [1, 2], [1, 3], [1, 4],
...
]

有什么更好的解决方案吗?

您可以这样使用Remainder运算符(%):

if (id % 5 === 1) { // 1st column }
if (id % 5 === 2) { // 2nd column }
if (id % 5 === 3) { // 3rd column }
if (id % 5 === 4) { // 4th column }
if (id % 5 === 0) { // 5th column }

你可以在这里找到它的工作原理:Remainder(%)