Определить значение, используя индекс массива с оператором модуля - PullRequest
0 голосов
/ 05 ноября 2018

Я ненавижу математику. Я мог бы сидеть здесь в течение следующих нескольких часов, пытаясь решить это, но я надеялся, что кто-то с половиной мозга сможет помочь мне с этой основной математической задачей, используя модуль.

let bricks = [{id: 1}, {id: 2}, {id: 3}, {id: 4}, {id: 5}]; // ...etc

for (var i = 0; i < bricks.length; i++) {
  // determine colour using modulus
  bricks[i].colour = help;
}

Мне нужно, чтобы первый кирпич был красным, второй - зеленым, а третий - синим. А затем повторите этот шаблон для всех элементов, которые есть в массиве bricks.

Несколько неловкий вопрос, но любая помощь будет очень признательна!

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Вы можете использовать array#map и взять по модулю длину цветового массива.

let bricks = [{id: 1}, {id: 2}, {id: 3}, {id: 4}, {id: 5}],
    colors = ['red','green','blue'],
    result = bricks.map(({id},i) => ({id, color : colors[i%colors.length]}));
console.log(result);
0 голосов
/ 05 ноября 2018

Вы можете взять массив и индекс по модулю длины цветового массива.

const colors = ['red', 'green', 'blue'];

for (var i = 0; i < bricks.length; i++) {
    bricks[i].colour = colors[i % colors.length];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...