Я застрял в этой последней части своего задания в течение самого долгого времени. Я пытаюсь пропустить алфавит с помощью модуля. delta - количество букв, которые вы должны перемещать вперед или назад, чтобы получить реальную букву. SO, если заданы getchars («H», - 2), функция должна возвращать F. Однако возникает проблема, если chars.charAt (chars.getIndexOf (data.charAt (i))) когда-либо равняется числу меньше 0 Я хочу, чтобы моя функция («А», -1) или любое отрицательное число, и вернуть ее «Z».Использование модуля для петли через
Это задание для класса, поэтому, если возможно, держите его только в модуле. Я работаю над этой последней частью как 2 часа.
function getChars(data,delta)
{
var chars;
var i;
var foundAt;
var newString;
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
data = data.toUpperCase();
delta = Math.min(chars.length, delta);
i = 0;
newString = "";
while (i < data.length)
{
if(delta <= 0)
{
foundAt = (chars.indexOf(data.charAt(i)) + delta) ;window.alert(foundAt)
//newString = newString + chars.charAt(foundAt);
//i = i + 1;
}
else if((chars.indexOf(data.charAt(i)) < 0))
{
foundAt = data.charAt(i);
newString = newString + foundAt;
i = i + 1;
}
else
{
foundAt = ((chars.indexOf(data.charAt(0 + i)) + delta)) % chars.length;window.alert(foundAt);
newString = newString + chars.charAt(foundAt);window.alert(newString);
i = i + 1;
}
}
//return newString;
}
Простой, если заявление - У вас есть 26 букв. if letter_ID <0, letter_ID = 25. (25, потому что js имеет индекс 0) – ggdx
почему вам нужен цикл while? не можете ли вы просто разработать индекс буквы, а затем добавить дельта, а затем взять модуль? – samgak