Javascript - 将字符串中的所有字母转为大写或小写
Javascript - Transfer all letters in string into uppercase or lowercase
我是 Javascript 的初学者。
我试图将关于隐蔽字符串的函数转换为大写或小写。
但是我很困惑为什么它能得到预期的输出。
以下是我的功能目的和codes.Thank你!
- 函数用途:
W 当字符串中的字母为大写时,将变为小写。
当字符串中的字母为小写时,它将变为大写。
例如:“Peter”将转为“pETER”
- 问题:
我不明白为什么我的代码以“Peter”而不是“pETER”结尾
function swap(str) {
var name = ''
for (i = 0; i <= str.length - 1; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i].toUpperCase()
} else {
str[i].toLowerCase()
}
name += str[i]
}
return name
}
console.log(swap('Peter'))
不知道是不是这一行的问题
if(str[i] >= 'a' && str[i] <= 'z'){
str[i].toUpperCase()
}
谁能帮帮我,谢谢!!
这个有效:
function swap(str) {
var name = ''
for (i = 0; i <= str.length - 1; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
name += str[i].toUpperCase()
} else {
name += str[i].toLowerCase()
}
}
return name
}
console.log(swap('Peter'))
我已经更改了您的代码,但现在应该可以使用了
function swap(str) {
var name = ''
var lowers = "abcdefghijklmnopqrstuvwxyz";
for (i = 0; i <= str.length - 1; i++) {
if (lowers.includes(str[i])) {
name +=str[i].toUpperCase()
} else {
name +=str[i].toLowerCase()
}
}
return console.log(name);
}
swap("Peter");
使用 reduce 来累积你的新字符串和 lowercase/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 值更改为大写或小写,它们将 return 函数调用的结果,但原始变量 (str[i]) 将保持其值。
试试这个版本:
function swap(str) {
var name = ''
var string;
for (i = 0; i <= str.length - 1; i++) {
string = str[i];
if (str[i] == string.toUpperCase()) {
name += string.toLowerCase();
} else {
name += string.toUpperCase();
}
}
return name;
}
console.log(swap('PeTeR'));
function name(str){
let newArr = str.split('')
let output = [];
for(let x of newArr){
output.push(x.toUpperCase());
}
return output.join('');
}
name('hello')
我是 Javascript 的初学者。
我试图将关于隐蔽字符串的函数转换为大写或小写。
但是我很困惑为什么它能得到预期的输出。
以下是我的功能目的和codes.Thank你!
- 函数用途:
W 当字符串中的字母为大写时,将变为小写。 当字符串中的字母为小写时,它将变为大写。 例如:“Peter”将转为“pETER”
- 问题:
我不明白为什么我的代码以“Peter”而不是“pETER”结尾
function swap(str) {
var name = ''
for (i = 0; i <= str.length - 1; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i].toUpperCase()
} else {
str[i].toLowerCase()
}
name += str[i]
}
return name
}
console.log(swap('Peter'))
不知道是不是这一行的问题
if(str[i] >= 'a' && str[i] <= 'z'){
str[i].toUpperCase()
}
谁能帮帮我,谢谢!!
这个有效:
function swap(str) {
var name = ''
for (i = 0; i <= str.length - 1; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
name += str[i].toUpperCase()
} else {
name += str[i].toLowerCase()
}
}
return name
}
console.log(swap('Peter'))
我已经更改了您的代码,但现在应该可以使用了
function swap(str) {
var name = ''
var lowers = "abcdefghijklmnopqrstuvwxyz";
for (i = 0; i <= str.length - 1; i++) {
if (lowers.includes(str[i])) {
name +=str[i].toUpperCase()
} else {
name +=str[i].toLowerCase()
}
}
return console.log(name);
}
swap("Peter");
使用 reduce 来累积你的新字符串和 lowercase/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 值更改为大写或小写,它们将 return 函数调用的结果,但原始变量 (str[i]) 将保持其值。
试试这个版本:
function swap(str) {
var name = ''
var string;
for (i = 0; i <= str.length - 1; i++) {
string = str[i];
if (str[i] == string.toUpperCase()) {
name += string.toLowerCase();
} else {
name += string.toUpperCase();
}
}
return name;
}
console.log(swap('PeTeR'));
function name(str){
let newArr = str.split('')
let output = [];
for(let x of newArr){
output.push(x.toUpperCase());
}
return output.join('');
}
name('hello')