Javascript 字符串中要增加的第一个字母,要减少的最后一个字母
我试图创建一个简单的编码器,每个单词的第一个字母成为它的后继字母(a=B),最后一个字母成为它的前导字母(B=a) 像这样:Javascript 字符串中要增加的第一个字母,要减少的最后一个字母,javascript,string,Javascript,String,我试图创建一个简单的编码器,每个单词的第一个字母成为它的后继字母(a=B),最后一个字母成为它的前导字母(B=a) 像这样: KEY:第一个字母向上,最后一个字母向后。 如果是字符串中的第一个字母,则应将x转换为y,如下所示: Aa=Bb Bb=Cc Cc=Dd Dd=Ee 等等 如果是字符串中的最后一个字母,则应将x转换为y,如下所示: Aa=Zz Bb=Aa Cc=Bb Dd=Cc 等等 狐狸从狗身上跳了过去Uhd gow kumpec pveq Uhd eoh。
KEY:第一个字母向上,最后一个字母向后。
如果是字符串中的第一个字母,则应将x转换为y,如下所示:
Aa=Bb
Bb=Cc
Cc=Dd
Dd=Ee
等等
如果是字符串中的最后一个字母,则应将x转换为y,如下所示:
Aa=Zz
Bb=Aa
Cc=Bb
Dd=Cc
等等
狐狸从狗身上跳了过去Uhd gow kumpec pveq Uhd eoh。
这适用于一个单词,但也适用于一个短语
function transform(phrase)
{ var i,last,letters,words=phrase.split(/\s+/);
for(i=0;i<words.length;i++)
{ letters=words[i].split('');
last=letters.length-1;
letters[0]=letters[0].charCodeAt(0)<122?String.fromCharCode(letters[0].charCodeAt(0)+1):'a';
letters[last]=97<letters[last].charCodeAt(0)?String.fromCharCode(letters[last].charCodeAt(0)-1):'z';
words[i]=letters.join('');
}
return words.join(' ');
}
console.log(transform('apple zebra variables'));
//outputs 'bppld aebrz wariabler'
函数变换(短语)
{var i,last,字母,words=phrase.split(/\s+/);
为了(i=0;i)让它更明显,我只是创建了一些函数,然后调用它们
与此相关的问题是,像“a”这样的单字母单词会被双重弄乱,因此“a”变成“z”,然后回到“a”作为第一个和最后一个字母
//我用它来从数组中删除空的“”,可能有更好的方法来修改原型,但这可能是一种意见。
Array.prototype.clean=函数(deleteValue){
for(var i=0;imystring.length-1)返回mystring;
返回mystring.substr(0,索引)+chr+mystring.substr(索引+1);
}
var mySentence=“棕色的大奶牛碾过了斑马。我明白了”;
//这个句子中的单词要弄乱
var splitS=splitString(mycentence).clean(“”);
对于(变量i=0;i console.log(拆分);
如果第一个字母是z
,怎么办?它不能增加。您使用中给出的代码有什么问题吗?我不理解这个问题,似乎您已经在问题中找到了答案。@user202729我还不是javaScript的高手,我也不完全理解该代码。但是,我确实尝试用d它用一个JavaScript警报下拉列表提示我,并告诉我输入一个字符串。找不到输出。我不知道为了编辑它,代码实际上在说什么。如果你知道,你的帮助将不胜感激。然后去学习JavaScript。互联网上有很多JavaScript教程……记住,询问其他人er为您编写代码的人并不能帮助您提高编程技能。非常感谢。这真的很方便,因为它可以直接在我的控制台上看到。祝贺您获得200次重复!如果您加入不同的堆栈社区,您将在这里获得+100,在那里获得+100。(每人仅获得1次奖金)。因此,您的rep将立即上升到308。请注意,这不是最紧凑的解决方案,但应该很容易理解。对最终数组执行您想要的操作,我没有尝试保留非alpha,但可以使用原始语句作为模式将其放回原位。如果其他字符可能需要在上拆分字符。