lodash capitalize不会将第一个条目之外的任何东西都资本化

时间:2015-11-11 22:52:09

标签: javascript dictionary lodash capitalize

考虑以下代码:

lawCannotUse = lawCannotUse.map(function(cannotUse){
  console.log(cannotUse, lodashCapitalize(cannotUse));
  upperCaseCannotUse.push(lodashCapitalize(cannotUse));
});

lawCannotUse是一个字符串数组。

console.log显示:

enter image description here

正如你所看到的,第一个是大写的,但没有别的,攻击应该是,所以应该引发。

什么是:lodashCapitalize

var lodashCapitalize  = require('../../../node_modules/lodash/string/capitalize');

有什么想法吗?

2 个答案:

答案 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);

}