如何在同一行输出? 目前,它在垂直列表中列出;
但我想这样排队" lAbI ......"
代码有效。这只是输出结果的问题。请提供简单的解决方案。
var words ="kzahdjdnshdkjts";
var letters = words.split("");
var final = "";
for(let letter of letters){
if(letter === "z"){
letter = "`";
}
final = letter.charCodeAt();
final += 1;
if(final === 97){
final = 65;
}else if(final === 101){
final = 69;
}else if(final === 105){
final = 73;
}else if(final === 111){
final = 79;
}else if(final === 117){
final = 85;
}
final = String.fromCharCode(final);
console.log(final);
}
答案 0 :(得分:2)
创建第二个字符串(在本例中为finalString
),该字符串最初为空,追加而不是覆盖它(使用+=
)。
您还需要确保在console.log()
循环之外运行for
:
var words = "kzahdjdnshdkjts";
var letters = words.split("");
var final = "";
var finalString = "";
for (let letter of letters) {
if (letter === "z") {
letter = "`";
}
final = letter.charCodeAt();
final += 1;
if (final === 97) {
final = 65;
} else if (final === 101) {
final = 69;
} else if (final === 105) {
final = 73;
} else if (final === 111) {
final = 79;
} else if (final === 117) {
final = 85;
}
finalString += String.fromCharCode(final);
}
console.log(finalString);

希望这有帮助! :)
答案 1 :(得分:1)
您可以将输出作为HTML文本添加到节点中。
var words = "kzahdjdnshdkjts";
var letters = words.split("");
var final = "";
for (let letter of letters) {
if (letter === "z") {
letter = "`";
}
final = letter.charCodeAt();
final += 1;
if (final === 97) {
final = 65;
} else if (final === 101) {
final = 69;
} else if (final === 105) {
final = 73;
} else if (final === 111) {
final = 79;
} else if (final === 117) {
final = 85;
}
final = String.fromCharCode(final);
document.body.innerHTML += final;
}
答案 2 :(得分:0)
您可以先附加字母,然后将最后一个字符串打印到控制台。
var words ="kzahdjdnshdkjts";
var letters = words.split("");
var veryfinal = "";
var final = "";
for(let letter of letters){
if(letter === "z"){
letter = "`";
}
final = letter.charCodeAt();
final += 1;
if(final === 97){
final = 65;
}else if(final === 101){
final = 69;
}else if(final === 105){
final = 73;
}else if(final === 111){
final = 79;
}else if(final === 117){
final = 85;
}
final = String.fromCharCode(final);
veryfinal=veryfinal + final;
}
console.log(veryfinal);

答案 3 :(得分:0)
您可以.map()
分割为新的char代码数组的数组,这些char代码将传递给String.fromCharCode()
。
var words = "kzahdjdnshdkjts";
console.log(
String.fromCharCode(...words.split("").map(c => {
const final = (c === "z" ? "`" : c).charCodeAt() + 1;
switch (final) {
case 97: return 65;
case 101: return 69;
case 105: return 73;
case 111: return 79;
case 117: return 85;
default: return final;
}
}))
)

所以现在你只有一次String.fromCharCode
调用,它使用扩展语法获取所有替换字符代码的数组。
这种方式更快更清晰。
答案 4 :(得分:0)
我还没有尝试过这段代码,但这可能会有效:(将其替换为代码的最后3行。)
var finalString = "";
final = String.fromCharCode(final);
finalString.concat(final)
}
console.log(finalString);
你需要在循环中连接字符串并将其打印在循环外。