首页 > 解决方案 > 从没有方法的字符(for循环)javascript创建一个字符串

问题描述

这是练习: 迭代 1:名称和输入 1.1 创建一个hacker1带有驱动程序名称的变量。

1.2 打印"The driver's name is XXXX"

hacker21.3用导航器的名字创建一个变量。

1.4 打印"The navigator's name is YYYY"。迭代 2:条件 2.1。根据哪个名称更长,打印:

迭代 3:循环 3.1 打印司机姓名的所有字符,用空格隔开,大写,即“JOH N”

3.2 以相反的顺序打印导航器名称的所有字符。即“nhoJ”

3.3 根据字符串的字典顺序,打印:

如果不使用方法,我真的不会得到第 3.1 点和第 3.2 点,因为我只是在学习,所以我不应该使用它们。

console.log(`The driver's name is ${hacker1}`);

let hacker2 = 'Davide';
console.log(`The navigator's name is ${hacker2}`);

if(hacker1.length > hacker2.length){
console.log(`The driver has ${hacker1.length} characters`);

}else if(hacker1.length < hacker2.length){
console.log(`Yo, the navigator goes first definetely`);
}else{
console.log('What?! You both have the same name');
}


for(i = 0; i < hacker1.length; i++){
    console.log(hacker1[i].toUpperCase())
}

我只得到'P''E''D''R''O',但是如何在不使用方法的情况下转换为字符串并尊重另一个名称?

标签: javascriptfor-loopif-statementsplice

解决方案


谢谢,但我仍然错过了 3.3 点(我只允许在必要时使用 charAt() 或 splice() ,不允许使用其他方法。

这是我修复 3.1 和 3.2 的方法

let result = '';
for(i = 0; i < hacker1.length; i++){
  hacker1[i];
  result+= hacker1[i].toUpperCase() + ' ';
  }

// 3.2
let reversedName = '';  
for(i = hacker2.length - 1; i >= 0; i--){
  hacker2[i];
  reversedName += hacker2[i];
}

我怎么能用 for 循环做 3.3?


推荐阅读