考虑以下代码:
lawCannotUse = lawCannotUse.map(function(cannotUse){
console.log(cannotUse, lodashCapitalize(cannotUse));
upperCaseCannotUse.push(lodashCapitalize(cannotUse));
});
lawCannotUse
是一个字符串数组。
console.log
显示:
正如你所看到的,第一个是大写的,但没有别的,攻击应该是,所以应该引发。
什么是:lodashCapitalize
?
var lodashCapitalize = require('../../../node_modules/lodash/string/capitalize');
有什么想法吗?
答案 0 :(得分:2)
看来,第一个字符串后面的所有字符串都有一个前导空格。 _.capitalize
不会修剪字符串或大写第一个字母数字字符。但是,您可以使用_.trim
手动修剪字符串:
var _ = require('lodash');
lawCannotUse = lawCannotUse.map(function (cannotUse) {
console.log(cannotUse, _.capitalize(_.trim(cannotUse)));
// ...
});
您还可以编写这两个函数来生成可重用的函数,如此
var myCapitalize = _.compose(_.capitalize, _.trim);
// ...
myCapitalize(" abc"); // gives "Abc"
答案 1 :(得分:-3)
为什么不使用简单地使用JS .toUpperCase()??????????
纯js,不需要任何框架:
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}