得到一个相对的数字系列

get a relative series of numbers

我有一个索引数组(例如):[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 和一个常量值(例如 2)。 基于这个数组,我想找到一个数字序列如下:

0 -> 0
1 -> 0
2 -> 0
3 -> 0
4 -> 0
5 -> 1
6 -> 1
7 -> 1
8 -> 1
9 -> 1

谁能帮我找出根据左边的值和常数值计算箭头右边的值的正确逻辑?

(在这个例子中,我的常数值是二,但它可以更大。我的数字序列也可以更大)。

index % MY_CONSTANT_VALUE 并不是我想要的,因为它 returns 以下顺序:

0 -> 0
1 -> 1
2 -> 0
3 -> 1
4 -> 0
...

提前致谢。

看来你想要的是Math.floor(index / MY_CONSTANT_VALUE)。它基本上是整数除法。 MY_CONSTANT_VALUE完全进入index多少次?

您可以使用数组的长度来获取给定索引的部件号。

var indices = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
    parts = 2;
    
console.log(indices.map((i, _, a) => Math.floor(i * parts / a.length)));