У меня есть массив строкКак ориентироваться в массиве строк слева и справа
var characters = ["Jim", "Anna", "Nick", "Chris", "Peter"];
мое первоначальное положение Джим [0]. если я наберу правый, я хочу перейти к следующему В этом случае «Анна». Я могу сделать это, добавив один к текущему индексу.
Вещь становится все более сложной, когда я печатаю слева от начального положения?
Итак, как я могу идти от Джима [0] -> Peter [4]?
Что-то, что работает,
Jim[0] - 1 + characters.length which equals to 0 - 1 + 5 = 4
и это Питер. Но это кажется неправильным, потому что я не могу этого сделать в случае, если текущее значение - Anna [1], и я хочу пойти в Jim [0]. Как 1 - 1 + 5 = 5
Если вращающийся массив соответствует вашим требованиям, проверить этот ответ: http://stackoverflow.com/questions/1985260/javascript-array-rotate –
На каком языке? В Java int mod работает с отрицательным числом, так что вы можете сделать что-то вроде (при условии, что delta - это номер, который вы хотите переместить) '(((currentIndex + delta)% array.length) + array.length)% array.length'. Я считаю, что подобная техника работает и в Javascript –