有没有办法将 3 种颜色交替匹配到奇数

Is there a way to match 3 colors, alternating, to odd numbers

我正在尝试创建一个 3 相颜色编码列表。

ex :

Red: 1.
Black: 3.
Blue: 5.
Red: 7.
and so on and so fourth, until 100.

数字的偶数边也一样。

Red: 2
Black: 4
Blue: 6
Red: 8.

我如何在 JavaScript 中实现这一目标?

PS : 我是编码新手,从未使用过 Whosebug,所以很抱歉。

我的解决方案是创建一个颜色数组,然后检查是偶数还是奇数,然后使用模数从头到尾识别迭代颜色。

var arr = []
var even_colors = ["Red", "Black", "Blue"];
var odd_colors = ["Yellow", "Pink", "Orange"]
var index = 0;
var even_counter = 0;
var odd_counter = 0;

for(var i = 1; i <= 100; i++){
  if( i % 2 == 0 ){
    // You can perform any action here like DOM manipulation if you can
    arr.push(even_colors[even_counter % 3]);
    even_counter++;
  }else{
    arr.push(odd_colors[odd_counter % 3]);
    odd_counter++;
  }
}

// Or make use of the color array here

您可以使用 Array.from 创建所需长度的数组,然后根据索引用适当的颜色填充数组。

const 
  evens = ["Red", "Black", "Blue"],
  odds = ["Maroon", "Gray", "Cyan"],
  result = Array.from(
    { length: 20 },
    (_, i) =>
      `${
        i & 1
          ? evens[Math.floor(i / 2) % evens.length]
          : odds[Math.floor(i / 2) % odds.length]
      } = ${i + 1}`
  );

console.log(result);