成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

loadsh簡(jiǎn)介

clasnake / 1672人閱讀

摘要:愚人碼頭注即創(chuàng)建一個(gè)新數(shù)組,這個(gè)數(shù)組中的值,為第一個(gè)數(shù)字參數(shù)排除了給定數(shù)組中的值。如果迭代函數(shù)顯式的返回,迭代會(huì)提前退出。如此方法類(lèi)似于,除了它允許指定迭代函數(shù)結(jié)果如何排序。

loadsh簡(jiǎn)介

??????Lodash是一個(gè)一致性、模塊化、高性能的 JavaScript 實(shí)用工具庫(kù)。Lodash 通過(guò)降低 array、number、objects、string 等等的使用難度從而讓 JavaScript 變得更簡(jiǎn)單。
Lodash 的模塊化方法 非常適用于:

遍歷 array、object 和 string

對(duì)值進(jìn)行操作和檢測(cè)

創(chuàng)建符合功能的函數(shù)

1、 lodash的引用

npm i -g npm
npm i --save lodash
import _ from "lodash"

2、 lodash的常用方法

數(shù)組 Array

_.difference(array, [values])
創(chuàng)建一個(gè)具有唯一array值的數(shù)組,每個(gè)值不包含在其他給定的數(shù)組中。(愚人碼頭注:即創(chuàng)建一個(gè)新數(shù)組,這個(gè)數(shù)組中的值,為第一個(gè)數(shù)字(array 參數(shù))排除了給定數(shù)組中的值。)該方法使用 SameValueZero做相等比較。結(jié)果值的順序是由第一個(gè)數(shù)組中的順序確定。

如: _.difference([2, 1, 1994], [4, 2]);
 // => [1, 1994] 

_.remove(array, [predicate=_.identity])
移除數(shù)組中predicate(斷言)返回為真值的所有元素,并返回移除元素組成的數(shù)組。predicate(斷言) 會(huì)傳入3個(gè)參數(shù): (value, index, array)。

 如:var array = [1, 2, 3, 4];
 var evens = _.remove(array, function(n) {
 return n % 2 == 0;
 });
 console.log(array);
 // => [1, 3]
  
 console.log(evens);
 // => [2, 4]

_.uniq(array)
創(chuàng)建一個(gè)去重后的array數(shù)組副本。使用了 SameValueZero 做等值比較。只有第一次出現(xiàn)的元素才會(huì)被保留。

 如:_.uniq([2, 1, 2]);
 // => [2, 1]

_.last(array)
獲取array中的最后一個(gè)元素。

 如:_.last([1, 2, 3]);
 // => 3

集合 Collection

_.forEach(collection, [iteratee=_.identity])
調(diào)用 iteratee 遍歷 collection(集合) 中的每個(gè)元素, iteratee 調(diào)用3個(gè)參數(shù): (value, index|key, collection)。 如果迭代函數(shù)(iteratee)顯式的返回 false ,迭代會(huì)提前退出。

  如:_([1, 2]).forEach(function(value) {
    console.log(value);
  });
  // => Logs `1` then `2`.
   
  _.forEach({ "a": 1, "b": 2 }, function(value, key) {
    console.log(key);
  });
  // => Logs "a" then "b" (iteration order is not guaranteed).

_.filter(collection, [predicate=_.identity])
遍歷 collection(集合)元素,返回 predicate(斷言函數(shù))返回真值 的所有元素的數(shù)組。 predicate(斷言函數(shù))調(diào)用三個(gè)參數(shù):(value, index|key, collection)。

  如:var users = [
    { "user": "barney", "age": 36, "active": true },
    { "user": "fred",   "age": 40, "active": false }
  ];
   
  _.filter(users, function(o) { return !o.active; });
  // => objects for ["fred"]
   
  // The `_.matches` iteratee shorthand.
  _.filter(users, { "age": 36, "active": true });
  // => objects for ["barney"]
   
  // The `_.matchesProperty` iteratee shorthand.
  _.filter(users, ["active", false]);
  // => objects for ["fred"]
   
  // The `_.property` iteratee shorthand.
  _.filter(users, "active");
  // => objects for ["barney"]

_.groupBy(collection, [iteratee=_.identity])
創(chuàng)建一個(gè)對(duì)象,key 是 iteratee 遍歷 collection(集合) 中的每個(gè)元素返回的結(jié)果。 分組值的順序是由他們出現(xiàn)在 collection(集合) 中的順序確定的。每個(gè)鍵對(duì)應(yīng)的值負(fù)責(zé)生成 key 的元素組成的數(shù)組。iteratee 調(diào)用 1 個(gè)參數(shù): (value)。

  如:var users = [
     { "user": "barney", "age": 36, "active": true },
     { "user": "fred",   "age": 40, "active": false }
   ];
   _.groupBy(users, "user");
   // => {"barney":[{"user":"barney","age":36,"active":true}],"fred":[{"user":"fred","age":40,"active":false}]}
   
   

_.includes(collection, value, [fromIndex=0])
檢查 value(值) 是否在 collection(集合) 中。如果 collection(集合)是一個(gè)字符串,那么檢查 value(值,子字符串) 是否在字符串中, 否則使用 SameValueZero 做等值比較。 如果指定 fromIndex 是負(fù)數(shù),那么從 collection(集合) 的結(jié)尾開(kāi)始檢索。

  如:_.includes([1, 2, 3], 1);
      // => true
       
      _.includes([1, 2, 3], 1, 2);
      // => false
       
      _.includes({ "user": "fred", "age": 40 }, "fred");
      // => true
       
      _.includes("pebbles", "eb");
      // => true
      
      

_.orderBy(collection, [iteratees=[_.identity]], [orders])
此方法類(lèi)似于_.sortBy,除了它允許指定 iteratee(迭代函數(shù))結(jié)果如何排序。 如果沒(méi)指定 orders(排序),所有值以升序排序。 否則,指定為"desc" 降序,或者指定為 "asc" 升序,排序?qū)?yīng)值。

  如:var users = [
    { "user": "fred",   "age": 48 },
    { "user": "barney", "age": 34 },
    { "user": "fred",   "age": 40 },
    { "user": "barney", "age": 36 }
  ];
   
  // 以 `user` 升序排序 再  `age` 以降序排序。
  _.orderBy(users, ["user", "age"], ["asc", "desc"]);
  // => objects for [["barney", 36], ["barney", 34], ["fred", 48], ["fred", 40]]
  

_.sortBy(collection, [iteratees=[_.identity]])
創(chuàng)建一個(gè)元素?cái)?shù)組。 以 iteratee 處理的結(jié)果升序排序。 這個(gè)方法執(zhí)行穩(wěn)定排序,也就是說(shuō)相同元素會(huì)保持原始排序。 iteratees 調(diào)用1個(gè)參數(shù): (value)。

  如:var users = [
    { "user": "fred",   "age": 48 },
    { "user": "barney", "age": 36 },
    { "user": "fred",   "age": 40 },
    { "user": "barney", "age": 34 }
  ];
   
  _.sortBy(users, function(o) { return o.user; });
  // => objects for [["barney", 36], ["barney", 34], ["fred", 48], ["fred", 40]]
   
  _.sortBy(users, ["user", "age"]);
  // => objects for [["barney", 34], ["barney", 36], ["fred", 40], ["fred", 48]]
   
  _.sortBy(users, "user", function(o) {
    return Math.floor(o.age / 10);
  });
  // => objects for [["barney", 36], ["barney", 34], ["fred", 48], ["fred", 40]]
  
  

_.debounce(func, [wait=0], [options={}])
創(chuàng)建一個(gè) debounced(防抖動(dòng))函數(shù),該函數(shù)會(huì)從上一次被調(diào)用后,延遲 wait 毫秒后調(diào)用 func 方法。 debounced(防抖動(dòng))函數(shù)提供一個(gè) cancel 方法取消延遲的函數(shù)調(diào)用以及 flush 方法立即調(diào)用。 可以提供一個(gè) options(選項(xiàng)) 對(duì)象決定如何調(diào)用 func 方法,options.leading 與|或 options.trailing 決定延遲前后如何觸發(fā)(愚人碼頭注:是 先調(diào)用后等待 還是 先等待后調(diào)用)。 func 調(diào)用時(shí)會(huì)傳入最后一次提供給 debounced(防抖動(dòng))函數(shù) 的參數(shù)。 后續(xù)調(diào)用的 debounced(防抖動(dòng))函數(shù)返回是最后一次 func 調(diào)用的結(jié)果。

注意: 如果 leading 和 trailing 選項(xiàng)為 true, 則 func 允許 trailing 方式調(diào)用的條件為: 在 wait 期間多次調(diào)用防抖方法。

如果 wait 為 0 并且 leading 為 false, func調(diào)用將被推遲到下一個(gè)點(diǎn),類(lèi)似setTimeout為0的超時(shí)。

  如:// 避免窗口在變動(dòng)時(shí)出現(xiàn)昂貴的計(jì)算開(kāi)銷(xiāo)。
  jQuery(window).on("resize", _.debounce(calculateLayout, 150));
   
  // 當(dāng)點(diǎn)擊時(shí) `sendMail` 隨后就被調(diào)用。
  jQuery(element).on("click", _.debounce(sendMail, 300, {
    "leading": true,
    "trailing": false
  }));
   
  // 確保 `batchLog` 調(diào)用1次之后,1秒內(nèi)會(huì)被觸發(fā)。
  var debounced = _.debounce(batchLog, 250, { "maxWait": 1000 });
  var source = new EventSource("/stream");
  jQuery(source).on("message", debounced);
   
  // 取消一個(gè) trailing 的防抖動(dòng)調(diào)用
  jQuery(window).on("popstate", debounced.cancel);

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/100516.html

相關(guān)文章

  • [譯] npm, yarn以及pnpm的不同之處

    摘要:以及的不同之處原文譯者我并不是一個(gè)包管理器的專(zhuān)家。因此如果一年后我運(yùn)行,會(huì)安裝版本號(hào)為的最新版本的。這會(huì)導(dǎo)致循環(huán)依賴(lài)以及增加了版本不匹配的可能。從我目前收集的來(lái)看,的最初的主要目的是針對(duì)由于之前章節(jié)提及的相關(guān)行為導(dǎo)致的安裝的不確定性。 npm, yarn以及pnpm的不同之處 原文:Overview of differences between npm, yarn and pnpm ...

    Betta 評(píng)論0 收藏0
  • 理解節(jié)流和防抖

    摘要:所以針對(duì)此類(lèi)事件則需要進(jìn)行節(jié)流,或者防抖動(dòng)處理。節(jié)流判斷是否已空閑,如果在執(zhí)行中,則直接函數(shù)節(jié)流二防抖對(duì)于一定時(shí)間段內(nèi)的連續(xù)的函數(shù)調(diào)用,只執(zhí)行一次原理其實(shí)就是一個(gè)定時(shí)器,當(dāng)我們觸發(fā)一個(gè)事件時(shí),讓這個(gè)事件延遲一會(huì)在執(zhí)行。 在瀏覽器dom事件里面,一些事件會(huì)隨著用戶(hù)的操作不間斷的觸發(fā),比如:為一個(gè)元素綁定拖拽事件,為頁(yè)面綁定resize事件(重新調(diào)整瀏覽器窗口大?。?,頁(yè)面滾動(dòng)。如果dom操...

    zebrayoung 評(píng)論0 收藏0
  • 前端那些小眾而又精美的網(wǎng)站及工具

    摘要:寫(xiě)此文的目的是為了總結(jié)在開(kāi)發(fā)中能增加我們開(kāi)發(fā)速度及能給我們帶來(lái)方便的工具與網(wǎng)站及一些小眾框架只限于簡(jiǎn)介不負(fù)責(zé)教程如有相應(yīng)的教程希望大家自薦或推薦我在這里感激不盡讓我們發(fā)現(xiàn)美并記錄它第一次寫(xiě)文章請(qǐng)多多包涵如有我沒(méi)有寫(xiě)到的但又是一些好用的工具及 寫(xiě)此文的目的是為了總結(jié)在開(kāi)發(fā)中能增加我們開(kāi)發(fā)速度及能給我們帶來(lái)方便的工具與網(wǎng)站及一些小眾框架只限于簡(jiǎn)介不負(fù)責(zé)教程如有相應(yīng)的教程希望大家自薦或推薦我...

    Edison 評(píng)論0 收藏0
  • 前端那些小眾而又精美的網(wǎng)站及工具

    摘要:寫(xiě)此文的目的是為了總結(jié)在開(kāi)發(fā)中能增加我們開(kāi)發(fā)速度及能給我們帶來(lái)方便的工具與網(wǎng)站及一些小眾框架只限于簡(jiǎn)介不負(fù)責(zé)教程如有相應(yīng)的教程希望大家自薦或推薦我在這里感激不盡讓我們發(fā)現(xiàn)美并記錄它第一次寫(xiě)文章請(qǐng)多多包涵如有我沒(méi)有寫(xiě)到的但又是一些好用的工具及 寫(xiě)此文的目的是為了總結(jié)在開(kāi)發(fā)中能增加我們開(kāi)發(fā)速度及能給我們帶來(lái)方便的工具與網(wǎng)站及一些小眾框架只限于簡(jiǎn)介不負(fù)責(zé)教程如有相應(yīng)的教程希望大家自薦或推薦我...

    tigerZH 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<