2015-11-11 24 views
0

考慮下面的代碼什麼:lodash利用不會利用其他然後第一項

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

看來,後的第一個陣列中的所有字符串有一個前導空格。 _.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" 
+0

只是單挑:As版本4.0.0'撰寫'已被刪除,以支持'flowRight'。 (https://github.com/lodash/lodash/wiki/Changelog)。 另一種適用於我的方法是: 'return _.startCase(_。camelCase(can not use));' – Fraccus

-3

你爲什麼不使用簡單地使用JS .toUpperCase()??????????

純JS,不需要任何框架:

function capitalizeFirstLetter(string) { 
return string.charAt(0).toUpperCase() + string.slice(1); 

}

+0

一個可重複使用的功能,因爲'toUpperCase()'的所有字符轉換字符串 - 不僅是第一個,所以你不得不編寫自己的大寫函數。 ([這是不是太硬(http://stackoverflow.com/questions/1026069/capitalize-the-first-letter-of-string-in-javascript)),但由於這是一個lodash問題,爲什麼還要去那裏? – ippi

+0

抱歉:功能capitalizeFirstLetter(串){ 返回string.charAt(0).toUpperCase()+ string.slice(1); } – cpugourou

+0

我覺得太多的使用框架基本的東西。他們應該在任何框架之前開始學習JavaScript。而當你知道JavaScript時,你會發現所有這些框架完全沒用。這些框架所做的唯一事情就是放慢你的代碼。 – cpugourou