javascript - 使用 map 将每隔一个字符转换为大写

标签 javascript ecmascript-6

我有一个字符串,需要使用映射函数将其转换为大写。它会是这样的:

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/

相关文章:

javascript - Google Analytics - 增强的链接归因

javascript - 使用 coffeescript 的 ng-table 多模板过滤器

javascript - 无法使用javascript获取背景样式

javascript - 将三个js的IIFE函数转换为es6?

javascript - ES6中同步加载运行时确定名称的模块

javascript - react : How to show Error Message if no data is found in obj

ecmascript-6 - 为什么我不能使用 BabelJS 导入默认导出为 "import ... as"

javascript - 如何在reactJS中添加多个相同的字段表单?

javascript - 我的 YUI 3 实例在哪里? (加上一些 YUI 事件观察)

javascript - 了解 JavaScript Fetch 调用