给定一个字符串数组,将每个字符串转换为: 如果首字母是大写,则大写 如果首字母小,则小写

Posted

技术标签:

【中文标题】给定一个字符串数组,将每个字符串转换为: 如果首字母是大写,则大写 如果首字母小,则小写【英文标题】:Given an array of strings, convert each string into: uppercase if first letter is capital lower case if first letter is small 【发布时间】:2018-12-29 15:29:32 【问题描述】:

给定一个字符串数组,将每个字符串转换为:

如果首字母大写,则大写, 如果第一个字母很小,则小写。

var arr = ['This', 'is', 'My', 'first', 'piece', 'OF', 'javascript'];

结果变量arr现在应该是:

["THIS", "is", "MY", "first", "piece", "OF", "javascript"]

【问题讨论】:

嗨瓦卡尔。欢迎在 Stack Overflow 上发帖!不幸的是,这个问题被否决了,因为没有发布试图解决它的代码。 How do I ask a good question? 它也被否决了,因为您似乎要求别人做作业。 【参考方案1】:
var arr = ['This', 'is', 'My', 'first', 'piece', 'OF', 'javaScript'];

arr.map(e => e[0].toLowerCase() == e[0]? 
  e.toLowerCase():e.toUpperCase());

【讨论】:

考虑添加一些代码解释。仅代码答案可能会被标记为低质量删除。【参考方案2】:

简单循环和toUpperCase比较方法:

const result = ['This', 'is', 'My', 'first', 'piece', 'OF', 'javaScript']
.map(i => i[0].toUpperCase() === i[0] ? i.toUpperCase(): i.toLowerCase())

// ["THIS", "is", "MY", "first", "piece", "OF", "javascript"]

没有.map

var result = [];
for(var i = 0; i < arr.length; i++) 
  if (arr[i][0].toUpperCase() === arr[i][0]) 
    result.push(arr[i].toUpperCase());
   else 
    result.push(arr[i].toLowerCase());
  

【讨论】:

任何其他使用if语句和循环的方法??因为我没有研究过.map,所以不允许使用。 @WaqarAnwar 我为你添加了没有.map 的版本

以上是关于给定一个字符串数组,将每个字符串转换为: 如果首字母是大写,则大写 如果首字母小,则小写的主要内容,如果未能解决你的问题,请参考以下文章

自动翻译程序员英语

JavaScript数组sort()方法小结

Leetcode -- 加一(66)

Hive:如何将字符串转换为数组数组

[单选题]将字符串中所有英文字母转为大写:

js字符串每个数组前面数字转换为多少个数组