Javascript根据功能改变输入的单词



预期输出示例:我们的单词是Pokemon

Pokemon (Regular word)

p k !米!n(每第二个字母是!)

Nomekop(逆转)

pokemOn(每6个字母都是大写)

[数组的ASCII值]

我确信我已经得到了反向很好,但需要帮助,以找出大写字母和改变每第二个字母,并返回单词的ASCII码。

我会想象替换的逻辑是在I %2 = 0使字符成为'!'如果大写是类似的,我正在努力实现它,或者我可能是错的。

现在输出如下所示

口袋妖怪未定义的口袋妖怪80nomekop

function replaceAt(string) {
for(let i=0; i=string.length; i++){
string = word
string.charAt(i) = '!'
i++
}
}
// This function intended to make every 6th letter uppercase
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
function returnASCII(string) {
for (let i = 0; i < string.length; i++) {
// How to do this but on one line?
// Would I have to convert this to an array?
return string.charCodeAt(i);
}
}
let word = "Pokemon";
console.log(word)
console.log(replaceAt(1, "!"))
console.log(capitalizeFirstLetter(word));
console.log(returnASCII(word))
// Intended to show word reversed
let reverse = word.split('').reverse().join('').toLowerCase();
console.log(reverse)

我只关心香草JS

任何指导将非常感激!

对于replaceAt,您传递了两个参数,但您只使用一个参数设置了函数。

第6个字母大写

要将单词的第6个字母大写,请这样做:

function capitalizeEvery6thLetter(word){
res = '';
for(let i = 0; i < word.length; i++){
if((i % 5) == 0){ // Check i % 5 instead of 6 due to zero indexing
res += word[i].toUpperCase();
} else {
res += word[i]
}
}
return res;
}

遍历单词,检查i%5是否为0(因为每第5个索引实际上是第6个字母),将该字母设置为大写并将其添加到空结果字符串中,或者如果i%5不为0就添加字母。然后,一旦添加了所有的字母,返回结果。

Word到ASCII数组

要将一个单词转换为ASCII字符数组,执行以下操作:

function asciiValues(word){
res = [];
for(let i = 0; i < word.length; i++){
res.push(word[i].charCodeAt())
}
return res;
}

与上一个函数的方法类似,只获取每个字母的字符代码并将其添加到数组中。在当前的函数中,您有一个正确的设置,但是循环的return语句意味着它只运行一次,然后将单个字母返回到ascii。

最新更新