如何基于连续的值序列获取列索引

时间:2018-10-29 19:45:13

标签: javascript counting

我有这个数字序列

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

每个数字代表页面上的组件。每3个数字组成一个页面。组件索引在每个页面上重新启动。因此基本上是基于列的索引。

您可以将其视为

0   1   2
3   4   5
6   7   8
9   10  11
12  13  14
15  16  17
18  19  20
21  22  23
24  25  26
27  28  29

其中每一行是一页,每一列是一个组件。

我仅需要基于这些数字来确定该数字位于哪个页面/行以及哪个组件/列中。页面和组件计数基于0。

我设法使用Math.floor(number / 3)来识别页/行的索引。

如何识别组件?

例如,20将是第6页的组件2,10将是第3页的组件1,27将是第9页的组件0。

2 个答案:

答案 0 :(得分:3)

使用模函数:

var component = number % 3;

答案 1 :(得分:1)

您将要使用%来获取组件,并使用除法来获取如下页面:

/*
0   1   2
3   4   5
6   7   8
9   10  11
12  13  14
15  16  17
18  19  20
21  22  23
24  25  26
27  28  29
*/

function componentInfo(offset) {
  return {
    page: Math.floor(offset / 3),
    component: offset % 3
  }
}

console.log(componentInfo(6))
console.log(componentInfo(10))
console.log(componentInfo(22))