从没有方法的字符for循环javascript创建字符串

问题描述

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

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

1.3使用导航器的名称创建一个变量hacker2

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

  • 驱动程序具有最长的名称,它具有XX个字符。或
  • 导航器的名称似乎最长,它具有XX个字符。或
  • 哇,你们俩的名字都一样长,XX个字符!。

迭代3:循环 3.1打印驾驶员姓名的所有字符,并用空格和大写字母隔开,即“ J O H 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',但是如何在不使用方法的情况下转换为字符串并尊敬另一个名称

解决方法

您可以循环遍历数组。您可以定义第二个数组,并继续将这个新数组中的字符连接起来。

结果+ =黑客[i]遍历字符

,

谢谢,但是我仍然错过了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?