如果在javascript中已到达数组的末尾,请从数组的开头重新启动

如果在javascript中已到达数组的末尾,请从数组的开头重新启动,javascript,arrays,encryption,Javascript,Arrays,Encryption,我的目标是将一个句子中的字符替换为字母表中某些位置(输入中提供)的字符。一种加密技术。 我的问题是,句子中是否有一个Z或某个字符超过了数组的最大大小。如何确保如果有人(例如)写入Y并将其移动3个字符,则值将为B function criptaFrase(){ var alfabeto = 'abcdefghijklmnopqrstuvwxyz'.split(''); var frase = document.getElementById("frase").value; var

我的目标是将一个句子中的字符替换为字母表中某些位置(输入中提供)的字符。一种加密技术。 我的问题是,句子中是否有一个Z或某个字符超过了数组的最大大小。如何确保如果有人(例如)写入Y并将其移动3个字符,则值将为B

function criptaFrase(){
var alfabeto = 'abcdefghijklmnopqrstuvwxyz'.split('');
var frase = document.getElementById("frase").value;
var scambia = "";
var posti = parseInt(document.getElementById("posti").value);

for (a = 0; a < frase.length; a++) {
    let b = alfabeto.indexOf(frase.charAt(a));
    b += posti;
    scambia += alfabeto[b];
    document.getElementById("finale").innerHTML = scambia;
}
函数scriptafrase(){ var alfabeto='abcdefghijklmnopqrstuvwxyz'。拆分(''; var frase=document.getElementById(“frase”).value; var scambia=“”; var posti=parseInt(document.getElementById(“posti”).value); 对于(a=0;a您可以通过使用余数运算符(
%
)和对象的长度来包装从0开始索引的任何对象

所以如果你说的是
b+=posti;
,那就是:

b = (b + posti) % alfabeto.length;
下面是一个单独的环绕示例:

const list=[“一”、“二”、“三”、“四”];
设i=0;
用于(设计数器=0;计数器<12;++计数器){
log(`${i}:${list[i]}`);
i=(i+1)%list.length;
}