我有一个字符串数组
var characters = ["Jim", "Anna", "Nick", "Chris", "Peter"];
我的初始位置是 Jim[0]。如果我输入正确,我想转到下一个 在这种情况下为“安娜”。我可以通过向当前索引添加一个来完成此操作。
当我从初始位置向左打字时,事情变得更棘手了?
那么我怎样才能从 Jim[0] -> Peter[4] 开始呢?
有用的东西是
Jim[0] - 1 + characters.length which equals to 0 - 1 + 5 = 4
这是彼得。但这似乎不正确,因为在当前值为 Anna[1] 并且我想转到 Jim[0] 的情况下我不能这样做。作为 1 - 1 + 5 = 5
最佳答案
像这样的东西会起作用。
var characters = ["Jim", "Anna", "Nick", "Chris", "Peter"];
var index = 0; // Currently at Jim.
var direction = -1; // 1 for right, -1 for left.
// What's left of our current position?
characters[(index + characters.length + direction) % characters.length]; // Peter!
关于arrays - 如何在字符串数组中左右导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42214897/