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