【发布时间】:2016-01-03 06:34:42
【问题描述】:
您好,我正在寻找比较两个字符串,并将字符串 B 中的所有小写字母(字符串 A 中的大写字母)改为大写,我的代码的问题是它只会像这样更改最后一个字母
var i;
var x;
function switchItUp(before, after) {
for (i = 0; i < before.length; i++) {
if (before.charAt(i) == before.charAt(i).toUpperCase()) {
x = after.replace(after.charAt(i), after.charAt(i).toUpperCase());
}
}
console.log(x);
}
switchItUp("HiYouThere", "biyouthere");
这将导致“biyouThere”以任何方式将其更改为“HiYouThere”?
【问题讨论】:
-
预期输出应该是 HiYouThere 还是 BiYouThere?
-
我期待 BiYouThere
-
好的。然后在开始循环之前将 'after' 的值分配给 x,并仅在循环内部使用 x 而不是 'after'。
-
它有效,但它在控制台中多次显示字符串(对于每次迭代)
-
仅在循环外打印。
标签: javascript replace charat