今天看廖雪峰的javaScript教程,讲到高阶函数 map/reduce,有个练习:
请把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。输入:['adam', 'LISA', 'barT']
,输出:['Adam', 'Lisa', 'Bart']
。
写了个答案:
'use strict'; function normalize(arr){ return arr.map(function(e){ return e.split('').reverse().reduce(function(x,y){ return y.toUpperCase()+ x.toLowerCase() ; }) }) }
// 测试: if (normalize(['adam', 'LISA', 'barT']).toString() === ['Adam', 'Lisa', 'Bart'].toString()) { alert('测试通过!'); } else { alert('测试失败!'); }