Как получить индекс столбца на основе непрерывной последовательности значений - PullRequest
0 голосов
/ 29 октября 2018

У меня есть эта последовательность чисел

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 будет компонентом 2 на странице 6, 10 будет компонентом 1 на странице 3, 27 будет компонентом 0 на странице 9.

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Вы захотите использовать %, чтобы получить компонент, и деление, чтобы получить страницу, подобную этой:

/*
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))
0 голосов
/ 29 октября 2018

Использовать функцию модуля:

var component = number % 3;
...