Javascript 顺时针方向循环一组数字
我有一个介于65和90之间的数字 我想把一个数字移到后面的13位,但这个数字应该从90位降到65位以下 e、 g:如果我有67,它应该变成79,但78应该下降到65,77应该下降到90 我尝试过使用if循环Javascript 顺时针方向循环一组数字,javascript,math,Javascript,Math,我有一个介于65和90之间的数字 我想把一个数字移到后面的13位,但这个数字应该从90位降到65位以下 e、 g:如果我有67,它应该变成79,但78应该下降到65,77应该下降到90 我尝试过使用if循环 var n = 67 if ((n - 13) < 65) { console.log(90 - (13 - (n - 65))) } else { console.log(n - 13) } var n=67 如果((n-13)
var n = 67
if ((n - 13) < 65) {
console.log(90 - (13 - (n - 65)))
}
else {
console.log(n - 13)
}
var n=67
如果((n-13)<65){
控制台日志(90-(13-(n-65)))
}
否则{
console.log(n-13)
}
但是我如何使用算术来简化代码呢?你可以通过减去偏移量
65
得到零的基值,加上移位值,然后使用铰刀得到0到25之间的值,然后再加上偏移量
它看起来像:
功能移位(值,移位){
返回(值-65+shift)%26+65;
}
console.log(shiftBy(67,13));//80
console.log(shiftBy(77,13));//90
console.log(shiftBy(78,13));//65
67应该是79,如果我是对的,那么我的计算是错的
from 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
N O P Q R S T U V W X Y Z >A B C D E F G H I J K L M
to 78 79 80 81 82 83 84 85 86 87 88 89 90 65 66 67 68 69 70 71 72 73 74 75 76 77