Javascript-将字符串中的所有字母转换为大写或小写
我是Javascript的初学者。Javascript-将字符串中的所有字母转换为大写或小写,javascript,string,uppercase,lowercase,Javascript,String,Uppercase,Lowercase,我是Javascript的初学者。 我试图制作一个函数,将字符串转换为大写或小写。 但我不明白为什么它能获得预期的产出。 以下是我的函数用途和代码。谢谢 功能用途: W当字符串中的字母为大写时,它将变为小写。 当字符串中的字母为小写时,它将变为大写。 例如:“彼得”将转换为“彼得” 问题: 我不明白为什么我的代码以“Peter”而不是“Peter”结尾 函数交换(str){ 变量名称=“” 对于(i=0;i='a'&&str[i]来说,这是有效的: 函数交换(str){ 变量名称=“” 对于
我试图制作一个函数,将字符串转换为大写或小写。 但我不明白为什么它能获得预期的产出。 以下是我的函数用途和代码。谢谢
函数交换(str){
变量名称=“”
对于(i=0;i='a'&&str[i]来说,这是有效的:
函数交换(str){
变量名称=“”
对于(i=0;i='a'&&str[i]我已经更改了您的代码,但现在应该可以工作了
函数交换(str){
变量名称=“”
var lowers=“abcdefghijklmnopqrstuvxyz”;
对于(i=0;i使用reduce累积新字符串和小写/upercase JS函数来检查字母,然后进行转换
const swap=(str)=>str.split(“”)。reduce((acc,char)=>
acc+=char===char.toLowerCase()?char.toUpperCase():
char.toLowerCase(),“”)
console.log(swap('Peter'))
我认为您的问题是str[I].toUpperCase()或str[I].toLowerCase()会更改str[I]的值,但不会更改。这些函数会将char值更改为大写或小写,它们会返回函数调用的结果,但会返回原始变量(str[I])将保持其价值
请尝试使用此版本:
函数交换(str){
变量名称=“”
var字符串;
for(i=0;i字符串在JS中是不可变的,因此执行str[i].toUpperCase()操作
不会将字符串中的第i个字母改为大写,相反,它会返回大写版本,您可以用它来构建一个新字符串。这能回答您的问题吗?@NickParsons非常感谢!我知道我的问题所在。@Harmandepsingkalsi是的!!这对我很有帮助,很抱歉我以前没有找到这个有用的答案。谢谢!您是r没错!我想它会改变原来的str[I]值,但我忽略了字符串在JS中是不可变的。谢谢!我知道问题出在哪里了。
function name(str){
let newArr = str.split('')
let output = [];
for(let x of newArr){
output.push(x.toUpperCase());
}
return output.join('');
}
name('hello')