我有一个字符串,需要使用映射函数将其转换为大写。它会是这样的:
var str = 'hello world how ya doing?';
function toUpperCase(str){
return str.split('').map((v,i) => i%2 == 0 ? v[i].toLowerCase(): v[i].toUpperCase()).join('');
}
console.log(toUpperCase(str));
但是当我运行它时,我得到了整个大写的句子。
最佳答案
v
参数实际上保存数组中的每个字母,因此使用 v[i]
没有任何意义。
var str = 'hello world how ya doing?';
function toUpperCase(str) {
return str.split('').map((v, i) => i % 2 == 0 ? v.toLowerCase() : v.toUpperCase()).join('');
}
console.log(toUpperCase(str));
我猜你的意思是每隔一个字母转大写
,但如果你真的关心整个单词:
var str = 'hello world how ya doing?';
function toUpperCase(str) {
return str.split(' ').map((v, i) => i % 2 == 0 ? v.toLowerCase() : v.toUpperCase()).join(' ');
}
console.log(toUpperCase(str));
关于javascript - 使用 map 将每隔一个字符转换为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43204902/