把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字
题目出自廖雪峰老师的JavaScript教程:
把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。
例如:输入:[‘adam’, ‘LISA’, ‘barT’],输出:[‘Adam’, ‘Lisa’, ‘Bart’]。
'use strict';
function normalize(arr) {
//定义一个转换大小写的函数
function changeCase(arr) {
//定义一个字符数组,将传入的字符串分割成字母
var strArr=arr.split('');
//对已经分割了的字符串调用map()方法
//索引为零的字母调用toUpperCase()方法,其余字母调用toLowerCase()方法
var str=strArr.map(function (afterChange,index) {
var str;
if(index===0) {
str=afterChange.toUpperCase();
}
else {
str=afterChange.toLowerCase();
}
return str;
});
//将转换完成的字母重新连接起来形成新的字符串
return str.join('');
}
return arr.map(changeCase);
}
我们用以下代码来测试一下:
// 以下代码用于测试:
if (normalize(['adam', 'LISA', 'barT']).toString() === ['Adam', 'Lisa', 'Bart'].toString()) {
console.log('测试通过!');
}
else {
console.log('测试失败!');
}
运行结果:
测试通过!
又一个在学习过程中遇到的小难题,写个博客码住。