Javascript 替换字符串中的多个字母
您好,我想比较两个字符串,并将字符串B中的所有小写字母(即字符串A中的大写字母)转换为大写,我的代码的问题是它只会像这样更改最后一个字母Javascript 替换字符串中的多个字母,javascript,replace,charat,Javascript,Replace,Charat,您好,我想比较两个字符串,并将字符串B中的所有小写字母(即字符串A中的大写字母)转换为大写,我的代码的问题是它只会像这样更改最后一个字母 vari; var x; 功能切换ITUP(前、后){ 对于(i=0;i
vari;
var x;
功能切换ITUP(前、后){
对于(i=0;i 开关(“HiYouThere”、“biyouthere”)代码>您必须分配每个更改。它正在工作
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());
after = x;
//console.log("inside"+x);
}
}
console.log(x);
}
switchItUp("HiYouThere", "biyouthere");
vari;
var x;
功能切换ITUP(前、后){
对于(i=0;i
我已正确修改了您的代码以使其正常工作。您需要在每个循环中将该操作应用于相同的变量x,而不是after
function switchItUp(before, after) {
var x = after;
for (i = 0; i < before.length; i++) {
if (before.charAt(i) == before.charAt(i).toUpperCase()) {
x = x.replace(after.charAt(i), after.charAt(i).toUpperCase());
}
}
console.log(x);
}
功能切换ITUP(前、后){
var x=之后;
对于(i=0;i
这是代码:
功能切换ITUP(前、后){
for(var i=0;i document.body.innerHTML+=''+after+'
'代码>预期输出应为HiYouThere或BiYouThere?我预期为BiYouThere OK。然后在开始循环之前将“after”的值赋值给x,并仅在循环内部使用x,而不是“after”。它可以工作,但在控制台中多次显示字符串(对于每次迭代),仅在循环外部打印。它可以工作,但在控制台中多次显示字符串(对于每次迭代)没问题,它只是迭代循环中的一个console.log:)基于之后的修改x
,然后将之后的设置回x
似乎非常笨拙。这与仅仅说after=after.replace…
?是有什么区别/更好呢?是的..似乎..为了他们的错误的更好点..我做了..谢谢你的建议..它可以工作,但它在控制台中多次显示字符串(对于每次迭代),它只为我显示一次迭代:为什么要引入另一个名为x
的变量?此外,如果第一个字符串中的对应字符是数字,则这会将第二个字符串中的所有字符转换为大写。