亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

超火js庫: Lodash API例子

zhunjiee / 1697人閱讀

摘要:一個介于和之間的整數(shù)數(shù)學(xué)系統(tǒng)的基礎(chǔ),表示上述字符串的基數(shù)。當(dāng)未指定基數(shù)時,不同的實現(xiàn)會產(chǎn)生不同的結(jié)果,通常將值默認(rèn)為。例如將看作進(jìn)制數(shù),返回十進(jìn)制數(shù)實現(xiàn)原理重復(fù)指定字符串重復(fù)字符串次默認(rèn)次替換字符串同分割為數(shù)組同比多了第三個參數(shù)。

lodash.js是一款超火的js庫,在npm上平均周下載量達(dá)到了驚人的12,374,096,github start36K!大量框架都用到了lodash,包括擁有123kstart的vue

本文對比lodash英文文檔,加上一些小栗子和個人的經(jīng)驗~~,希望能幫到你們

lodash采用了immutable的思想,永遠(yuǎn)不會改變原數(shù)據(jù),而是會返回一個新的結(jié)果

String 字符串操作 camelCase 轉(zhuǎn)換駝峰命名

_.camelCase([string=""])

console.log(_.camelCase("Foo Bar"))
// => "fooBar"

console.log(_.camelCase("--foo-bar--"))
// => "fooBar"

console.log(_.camelCase("__FOO_BAR__"))
// => "fooBar"

console.log(_.camelCase("/\__FOO_BAR__*9"))
// "fooBar9"

console.log(_.camelCase("fooBarbar_bar"))
// fooBarbarBar
字符串中非數(shù)字和字母都會被過濾掉,然后再轉(zhuǎn)換為駝峰
capitalize 轉(zhuǎn)換大寫

_.capitalize([string=""])

console.log(_.capitalize("FRED"));
// => "Fred"
聯(lián)想: 同string.prototype.toLocaleUpperCase();
deburr 清理符號

_.capitalize([string=""])

deburr轉(zhuǎn)換 Latin-1 SupplementLatin Extended-A 為普通拉丁字母并且移除變音符號

_.deburr("déjà vu");
// => "deja vu"

一般用不到...

endsWith 判斷是否是某個字符串結(jié)尾

_.endsWith([string=""], [target], [position=string.length])

console.log(_.endsWith("abcdef3", "c", 3))
// true
console.log(_.endsWith("abcdef3", "c", 2))
// false
主要是第三個參數(shù),不填表示檢查整個字符串,有值代表從左截取幾個字符,從截取的字符中進(jìn)行判斷

ECMAScript 6中已經(jīng)加入string.prototype.endsWith()方法

escape 轉(zhuǎn)義html實體字符

_.escape([string=""])

會將&裝換成&, < -> <, > -> > "" -> "。其他轉(zhuǎn)義字符,如:×(乘號),÷(除號)等不會轉(zhuǎn)義,請用he這樣的專業(yè)處理轉(zhuǎn)義的庫
console.log(_.escape(`a  as  &""" *`))
// a  as  &'"" *
escapeRegExp 轉(zhuǎn)義正則表達(dá)式特殊字符

_.escapeRegExp([string=""])

正則表達(dá)式中的特殊字符都會加""處理
console.log(_.escapeRegExp("[lodash](https://lodash.com.../)"))
// [lodash](https://lodash.com.../)
kebabCase 轉(zhuǎn)換成kebabCase格式

總結(jié): 存在四種case格式

CamelCase: TheQuickBrownFoxJumpsOverTheLazyDog

SnakeCase: the_quick_brown_fox_jumps_over_the_lazy_dog

KebabCase: the-quick-brown-fox-jumps-over-the-lazy-dog

Studlycaps: tHeqUicKBrOWnFoXJUmpsoVeRThElAzydOG

查看case的具體文檔

其他轉(zhuǎn)換case語法通camelCase
lowerCase 轉(zhuǎn)換小寫

_.lowerCase([string=""])

_.lowerCase("--Foo-Bar--");
// => "foo bar"
 
_.lowerCase("fooBar");
// => "foo bar"
 
_.lowerCase("__FOO_BAR__");
// => "foo bar"

capitalize

聯(lián)想: string.prototype.toLocaleLowerCase
lowerFirst 轉(zhuǎn)換第一個字符為小寫
console.log(_.lowerFirst("DS"))
// dS
console.log(_.lowerFirst("__DS"))
// __DS
無法過濾非字母字符
pad 填充字符

_.pad([string=""], [length=0], [chars=" "])
有三個參數(shù): 原字符串,長度,填充字符

如果原字符串長度短于給定的長度,則原字符串左右兩邊會填充指定字符(默認(rèn)為空格),如果不能平均分配則會被截斷。

_.pad("abc", 8);
// => "  abc   "
 
_.pad("abc", 8, "_-");
// => "_-abc_-_"
 
_.pad("abc", 3);
// => "abc"
padEnd 在結(jié)尾處填充字符
_.padEnd([string=""], [length=0], [chars=" "])

如果原字符串長度短于給定的長度,則原字符串右邊會填充指定字符(默認(rèn)為空格),如果填充字符超出長度則會被截斷

_.padEnd("abc", 6);
// => "abc   "
 
_.padEnd("abc", 6, "_-");
// => "abc_-_"
 
_.padEnd("abc", 3);
// => "abc"
padStart 在開始處填充字符
_.padStart([string=""], [length=0], [chars=" "])

如果原字符串長度短于給定的長度,則原字符串左邊會填充指定字符(默認(rèn)為空格),如果填充字符超出長度則會被截斷

_.padStart("abc", 6);
// => "   abc"
 
_.padStart("abc", 6, "_-");
// => "_-_abc"
 
_.padStart("abc", 3);
// => "abc"
parseInt 解析字符串為數(shù)字
parseInt(string, radix);

string
要被解析的值。如果參數(shù)不是一個字符串,則將其轉(zhuǎn)換為字符串(使用 ToString 抽象操作)。字符串開頭的空白符將會被忽略。
radix
一個介于2和36之間的整數(shù)(數(shù)學(xué)系統(tǒng)的基礎(chǔ)),表示上述字符串的基數(shù)。比如參數(shù)"10"表示使用我們通常使用的十進(jìn)制數(shù)值系統(tǒng)。始終指定此參數(shù)可以消除閱讀該代碼時的困惑并且保證轉(zhuǎn)換結(jié)果可預(yù)測。當(dāng)未指定基數(shù)時,不同的實現(xiàn)會產(chǎn)生不同的結(jié)果,通常將值默認(rèn)為10。

返回值: 返回解析后的整數(shù)值。 如果被解析參數(shù)的第一個字符無法被轉(zhuǎn)化成數(shù)值類型,則返回 NaN
radix參數(shù)為n 將會把第一個參數(shù)看作是一個數(shù)的n進(jìn)制表示,而返回的值則是十進(jìn)制的。例如:

_.parseInt("123", 5) // 將"123"看作5進(jìn)制數(shù),返回十進(jìn)制數(shù)38 => 1*5^2 + 2*5^1 + 3*5^0 = 38

實現(xiàn)原理es5 parseInt

repeat 重復(fù)指定字符串
_.repeat([string=""], [n=1])

重復(fù)string字符串n次, 默認(rèn)1次

_.repeat("*", 3);
// => "***"
 
_.repeat("abc", 2);
// => "abcabc"
 
_.repeat("abc", 0);
// => ""
replace 替換字符串
_.replace([string=""], pattern, replacement)

同es5 string.prototype.replace

_.replace("Hi Fred", "Fred", "Barney");
// => "Hi Barney"
console.log(_.replace("Hi Fred", "Fred", () => "ffffddd"))
// Hi ffffddd
split 分割為數(shù)組
_.split([string=""], separator, [limit])

同string.prototype.split, 比es5多了第三個參數(shù)。
如果第三個參數(shù)小于數(shù)組長度,則返回對應(yīng)參數(shù)長度數(shù)組,如:

_.split("a-b-c", "-", 1)
// ["a"]

大于數(shù)組長度,返回原本分割的數(shù)組

_.split("a-b-c", "-", 5)
// ["a", "b", "c"]
startsWith 判斷是否是某個字符開頭

同MDN: string.prototype.startsWith

想造福人類來著的,結(jié)果晚了... @小呆 https://www.css88.com/doc/lodash

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/100465.html

相關(guān)文章

  • Lodash的學(xué)習(xí)筆記(一)有意思的API

    摘要:是函數(shù)柯里化的函數(shù)。例子柯里化有個常見作用參數(shù)復(fù)用構(gòu)建高階函數(shù)延遲計算。是的,它其實就是柯里化的具體應(yīng)用構(gòu)建高階函數(shù)。這個是我認(rèn)為的中最有意思的方法。不過要注意最后的。這同樣是用來組合高階函數(shù)的一個方法。 最近在學(xué)習(xí)JS函數(shù)式編程相關(guān)的內(nèi)容,于是詳細(xì)的翻看了Lodash的文檔,感到別有洞天。這里把自己對一些API的使用和看法做個筆記記錄下。 Array _.head/_.last 例子...

    BingqiChen 評論0 收藏0
  • You-Dont-Need : 你不需要系列

    摘要:是強大的,你可以做很多事情沒有。如果你想要你的項目需要更少的依賴,并且你清楚的知道你的目標(biāo)瀏覽器,那么你可能不需要。我們并不需要為了操作等再學(xué)習(xí)一下的。但是,他們往往需要更多的資源,功能不強,難以通過腳本自動化。 1 You-Dont-Need-JavaScript CSS是強大的,你可以做很多事情沒有JS。 本文教你使用原生CSS做下面的事情。 內(nèi)容目錄 手風(fēng)琴/切換 圓盤傳送帶...

    anonymoussf 評論0 收藏0
  • You-Dont-Need : 你不需要系列

    摘要:是強大的,你可以做很多事情沒有。如果你想要你的項目需要更少的依賴,并且你清楚的知道你的目標(biāo)瀏覽器,那么你可能不需要。我們并不需要為了操作等再學(xué)習(xí)一下的。但是,他們往往需要更多的資源,功能不強,難以通過腳本自動化。 1 You-Dont-Need-JavaScript CSS是強大的,你可以做很多事情沒有JS。 本文教你使用原生CSS做下面的事情。 內(nèi)容目錄 手風(fēng)琴/切換 圓盤傳送帶...

    bawn 評論0 收藏0
  • 翻譯連載 | 附錄 C:函數(shù)式編程函數(shù)-《JavaScript輕量級函數(shù)式編程》 |《你不知道的J

    摘要:為了盡可能提升互通性,已經(jīng)成為函數(shù)式編程庫遵循的實際標(biāo)準(zhǔn)。與輕量級函數(shù)式編程的概念相反,它以火力全開的姿態(tài)進(jìn)軍的函數(shù)式編程世界。 原文地址:Functional-Light-JS 原文作者:Kyle Simpson-《You-Dont-Know-JS》作者 關(guān)于譯者:這是一個流淌著滬江血液的純粹工程:認(rèn)真,是 HTML 最堅實的梁柱;分享,是 CSS 里最閃耀的一瞥;總結(jié),...

    Miracle 評論0 收藏0
  • 2018年你應(yīng)該知道的11個Javascript實用程序

    摘要:構(gòu)建是為了在中為常見任務(wù)提供實用程序功能。所有功能都自動進(jìn)行,并且相應(yīng)地安排傳遞的參數(shù)以便于使用。在星級,是一個用于處理本機對象的實用程序庫。該庫沒有外部依賴關(guān)系,這是一個將事件作為序列進(jìn)行測試的現(xiàn)場演示。 由于Javascript在2018年仍然是最受歡迎和最廣泛使用的編程語言,因此圍繞它擴(kuò)展了生態(tài)系統(tǒng)。 showImg(https://segmentfault.com/img/re...

    Ali_ 評論0 收藏0

發(fā)表評論

0條評論

zhunjiee

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<