【发布时间】:2022-11-04 20:43:58
【问题描述】:
所需的项目是将大写字母变为小写字母,反之亦然。我不明白为什么我的代码没有按预期工作。
代码如下:
let start4 = 0;
let swappedName = "elZerO";
for (let i = 0; i < swappedName.length; i++) {
if (swappedName[i] === swappedName[i].toLowerCase()) {
swappedName[i].toUpperCase();
} else {
swappedName[i].toLowerCase();
}
console.log(swappedName);
}
代码的结果在文本中没有任何变化。
【问题讨论】:
-
值得注意的是,我仍然是 JS 的初学者。所以请尽量在不使用任何高级代码的情况下尽可能简单地解决这个问题。
-
它不起作用,因为
swappedName[i].toUpperCase();和swappedName[i].toLowerCase();只是在i位置获取字符的大写和小写版本并丢弃该结果。您需要使用结果更新字符串。就我个人而言,我会将字符串代码点展开到数组[... swappedName]中,使用数组操作方法更改字符串中每个位置的代码点,然后使用Array#join创建要返回的字符串。 -
String.prototype.toUpperCase()方法不会改变字符串;它返回一个新的。您必须将结果分配回变量中。 -
好的。现在我明白了这个问题。非常感谢 !
标签: javascript loops for-loop conditional-statements