Перезапуск массива после достижения последнего элемента - PullRequest
0 голосов
/ 04 февраля 2020

То, что я хочу сделать, это l oop через элементы, но когда он достигает конца длины массива, он перезапускает l oop с начала до тех пор, пока не будет достигнут счет (количество элементов, которые он повторяет). , Как только оно будет достигнуто, я хочу сослаться на это значение элемента.

Я предполагаю, что должен использовать метод остатка или что-то еще?

let blogIcons = ["A", "B", "C"]
let count = 14; 

//How i want it to loop
// A,B,C,A,B,C,A,B,C, A, B, C, A, B
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14

//desired result having "B" as the value after count has been reached 
//Also how to refer that that element? by index or something?

Ответы [ 2 ]

1 голос
/ 04 февраля 2020

Как насчет оператора по модулю?

let blogIcons = ["A", "B", "C"]
let count = 14; 

console.log(blogIcons[(count-1) % blogIcons.length]) // since array starts from index at 0 you have to do -1
1 голос
/ 04 февраля 2020

Типичный подход для этого - использовать оператор по модулю (%), чтобы получить остаток от деления между количеством и длиной массива:

let blogIcons = ["A", "B", "C"]
let count = 14; 

console.log(blogIcons[count % blogIcons.length]);

Поскольку вы, похоже, хотите, чтобы ваши значения основывались на единицах, а не на нулях:

let blogIcons = ["A", "B", "C"]
let count = 14; 

console.log(blogIcons[(count + blogIcons.length - 1) % blogIcons.length]);

Здесь, прежде чем вычесть 1 из счетчика, я дополнительно добавляю blogIcons.length, чтобы избежать сбоя в случае, если счет равен нулю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...