我正在用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],
...
]
有没有更好的解决方案?
答案 0 :(得分:0)
你可以这样使用剩余运算符(%):
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 (%)