精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

你還在用sort排序?分享30個用的最頻繁的lodash工具函數

開發 前端
事情起因是,有幾個小伙伴在對一個數據進行排序,做了激烈的討論,這組數據,想要根據num字段進行排序~把我氣的,你們就不能直接用lodash的sortBy嗎?你們再怎么實現,能實現得比lodash好?

前言

大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心。

事情起因是,有幾個小伙伴在對一個數據進行排序,做了激烈的討論,這組數據,想要根據num字段進行排序~把我氣的,你們就不能直接用lodash的sortBy嗎?你們再怎么實現,能實現得比lodash好?

const arr = [    {num: 3,name: 'hh'},    {num: 1,name: 'xx'},    {num: 2,name: 'aa'}]// 使用lodashconsole.log(_.sortBy(arr, ['num']))

所以,我覺得有必要跟各位小伙伴分享一下,我在項目中用的最多的30個lodash工具方法

注:此文是總結一些常用的lodash方法,案例從文檔拿的,介意的朋友請勿看~

我要對數組進行一系列操作!

取「交集」!

intersection

返回一個包含所有傳入數組交集元素的新數組。

_.intersection([2, 1], [4, 2], [1, 2]);  // => [2]

intersectionBy

根據某個字段來進行計算交集

_.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');  // => [{ 'x': 1 }]

intersectionWith

根據某個條件函數來計算交集,比如使用isEqual

var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];  var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];    _.intersectionWith(objects, others, _.isEqual);  // => [{ 'x': 1, 'y': 2 }]

取「合集」!

union

返回一個新的聯合數組。

_.union([2], [1, 2]);  // => [2, 1]

unionBy

根據某個字段來計算合集

_.unionBy([{ 'x': 1, 'y': 5 }], [{ 'x': 2, 'y': 3 }, { 'x': 1, 'y': 6 }], 'x');  // => [{ 'x': 1, 'y': 5 }, { 'x': 2, 'y': 3 }]

unionWith

根據某個條件函數來計算合集

var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];  var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];    _.unionWith(objects, others, _.isEqual);  // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]

取「差集」!

同上面兩種工具函數,這里無需多言~

  • difference
  • differenceBy
  • differenceWith

取數組「總和」!

sum

返回總和。

_.sum([4, 2, 8, 6]);  // => 20

sumBy

根據某個字段計算并返回總和。

var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];    _.sumBy(objects, function(o) { return o.n; });  // => 20    // The `_.property` iteratee shorthand.  _.sumBy(objects, 'n');  // => 20

取「平均數」!

mean

計算平均數

_.mean([4, 2, 8, 6]);  // => 5

meanBy

根據某個字段計算出平均值

var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];    _.meanBy(objects, function(o) { return o.n; });  // => 5    // The `_.property` iteratee shorthand.  _.meanBy(objects, 'n');  // => 5

根據字段或條件「排序」!

sortBy

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]]

超級實用的工具函數!

我要「淺拷貝」!

clone

const obj1 = [{a: 1 }]const obj2 = _.clone(obj1)console.log(obj1 === obj2) // falseconsole.log(obj1.a === obj2.a) // true

我要「深拷貝」!

cloneDeep

const obj1 = [{a: 1 }]const obj2 = _.cloneDeep(obj1)console.log(obj1 === obj2) // falseconsole.log(obj1.a === obj2.a) // false

debounce 我要「防抖」!

參數

  1. func  (Function)
  2. [wait=0]  (number)
  3. [optinotallow=]  (Object)
  4. [options.leading=false]  (boolean)
  5. [options.maxWait]  (number) : 設置 func 允許被延遲的最大值。
  6. [options.trailing=true]  (boolean)

返回

(Function)

例子

// 避免窗口在變動時出現昂貴的計算開銷。jQuery(window).on('resize', _.debounce(calculateLayout, 150)); // 當點擊時 `sendMail` 隨后就被調用。jQuery(element).on('click', _.debounce(sendMail, 300, {  'leading': true,  'trailing': false})); // 確保 `batchLog` 調用1次之后,1秒內會被觸發。var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });var source = new EventSource('/stream');jQuery(source).on('message', debounced); // 取消一個 trailing 的防抖動調用jQuery(window).on('popstate', debounced.cancel);

throttle 我要「節流」!

參數

  1. func  (Function)
  2. [wait=0]  (number)
  3. [optinotallow=]  (Object)
  4. [options.leading=true]  (boolean)
  5. [options.trailing=true]  (boolean)

返回

(Function)

例子

// 避免在滾動時過分的更新定位jQuery(window).on('scroll', _.throttle(updatePosition, 100)); // 點擊后就調用 `renewToken`,但5分鐘內超過1次。var throttled = _.throttle(renewToken, 300000, { 'trailing': false });jQuery(element).on('click', throttled); // 取消一個 trailing 的節流調用。jQuery(window).on('popstate', throttled.cancel);

我「獲取」對象中的某幾個字段!

pick

var object = { 'a': 1, 'b': '2', 'c': 3 };    _.pick(object, ['a', 'c']);  // => { 'a': 1, 'c': 3 }

我要「剔除」掉對象中的某幾個字段!

omit

var object = { 'a': 1, 'b': '2', 'c': 3 };    _.omit(object, ['a', 'c']);  // => { 'b': '2' }

我要判斷一個變量的類型!

isUndefined

如果 value 是 undefined ,那么返回 true,否則返回 false

_.isUndefined(undefined);  // => true    _.isUndefined(null);  // => false

isNull

如果 value 為null,那么返回 true,否則返回 false。

_.isNull(null);  // => true    _.isNull(undefined);  // => false

isString

如果 value 為一個字符串,那么返回 true,否則返回 false。

_.isString('abc');  // => true    _.isString(1);  // => false

isPlainObject

如果 value 為一個普通對象,那么返回 true,否則返回 false。

function Foo() {  this.a = 1;  }    _.isPlainObject(new Foo);  // => false    _.isPlainObject([1, 2, 3]);  // => false    _.isPlainObject({ 'x': 0, 'y': 0 });  // => true    _.isPlainObject(Object.create(null));  // => true

isNumber

如果 value 為一個數值,那么返回 true,否則返回 false。

_.isNumber(3);  // => true    _.isNumber(Number.MIN_VALUE);  // => true    _.isNumber(Infinity);  // => true    _.isNumber('3');  // => false

isArray

如果value是一個數組返回 true,否則返回 false。

_.isArray([1, 2, 3]);  // => true    _.isArray(document.body.children);  // => false    _.isArray('abc');  // => false    _.isArray(_.noop);  // => false

isBoolean

如果 value 是一個布爾值,那么返回 true,否則返回 false。

_.isBoolean(false);  // => true    _.isBoolean(null);  // => false

isFunction

如果 value 是一個函數,那么返回 true,否則返回 false。

_.isFunction(function(){});  // => true    _.isFunction('');  // => false

isNill

如果 value 為null 或 undefined,那么返回 true,否則返回 false。

_.isNil(null);  // => true    _.isNil(void 0);  // => true    _.isNil(NaN);  // => fals


責任編輯:武曉燕 來源: 前端之神
相關推薦

2019-09-21 21:32:34

數據庫SQL分布式

2012-07-19 10:03:32

2024-11-12 16:28:34

2025-06-11 08:10:00

JavaScripAPI代碼

2023-07-10 09:39:02

lambdaPython語言

2019-07-01 15:19:14

機器學習ML代碼

2024-07-09 10:16:17

2024-03-12 10:13:08

LodashJavaScript工具庫

2020-03-04 14:05:35

戴爾

2024-01-31 08:47:05

JavaScript工具函數JS

2025-04-02 08:47:23

DOM文檔結構API

2025-07-29 08:05:37

2023-01-05 07:55:59

Zookeeper服務注冊

2023-05-08 08:49:32

JavaLambda表達式

2020-11-19 15:21:21

密碼網絡攻擊網絡安全

2023-08-30 09:16:38

PandasPython

2022-06-19 14:13:29

tmateLinux

2024-03-26 10:30:37

Mybatis擴展庫API

2020-07-07 07:35:35

RedisJedisJava

2009-11-24 10:31:22

PHP函數sort()
點贊
收藏

51CTO技術棧公眾號

日产中文字幕在线精品一区| 456亚洲影院| 亚洲国产精品第一页| 免费看男女www网站入口在线| 久久久久国产精品人| 91中文字幕在线| 国产精品一区无码| 欧美一区激情| 国产一区二区日韩精品欧美精品| 少妇愉情理伦片bd| 澳门av一区二区三区| 亚洲最新视频在线播放| 日韩国产在线一区| 神马午夜电影一区二区三区在线观看| 美女精品自拍一二三四| 国内精品久久久久久| 色www亚洲国产阿娇yao| 亚洲涩涩av| 日韩欧美久久一区| 在线黄色免费观看| 性欧美videohd高精| 亚洲一区精品在线| 成年人黄色在线观看| 免费人成在线观看网站| 成人中文字幕在线| 亚洲aaa激情| 欧美一级黄视频| 亚洲永久免费精品| 久久久久久久久久久久av| 日本猛少妇色xxxxx免费网站| 丁香5月婷婷久久| 欧美一区中文字幕| 污片在线免费看| 亚洲黄色免费看| 午夜激情综合网| 中文字幕一区二区三区5566| 国产www.大片在线| 久久精品水蜜桃av综合天堂| 久久婷婷开心| 午夜成人免费影院| 99久久国产免费看| 国产精品一区二区欧美黑人喷潮水| 国产一区二区三区黄片| 蜜臀久久99精品久久久画质超高清 | 天海翼亚洲一区二区三区| 日韩欧美视频一区| 在线播放av网址| 99re6热只有精品免费观看| 91精品国产综合久久久蜜臀图片| 国模私拍视频在线观看| 亚洲成人高清| 欧美一区二区黄色| 绿色成人影院| 久久av网站| 精品视频1区2区3区| 波多野结衣天堂| 国产精品毛片久久久久久久久久99999999| 欧美视频一区二区三区…| 国产女大学生av| 天堂√8在线中文| 欧美性猛交xxxx偷拍洗澡| 国产免费黄色av| 欧美大片1688| 欧美日韩一区二区三区在线| 粉色视频免费看| 日韩五码电影| 欧美电影免费观看完整版| 亚洲图片欧美另类| 偷窥自拍亚洲色图精选| 亚洲图片欧美日产| av在线免费播放网址| 在线观看日韩| 性日韩欧美在线视频| 国产午夜性春猛交ⅹxxx| 水蜜桃久久夜色精品一区的特点| 国产精品狠色婷| 国产又黄又大又爽| 成人黄色a**站在线观看| 蜜桃传媒视频麻豆一区 | 成人亚洲视频| 欧美大片在线观看一区| 呦呦视频在线观看| 999国产精品视频| 精品中文字幕乱| 少妇一级淫片免费放中国| 日韩电影网1区2区| 翡翠波斯猫1977年美国| 男生女生差差差的视频在线观看| 国产精品理伦片| 国产真人做爰毛片视频直播| 少妇一区视频| 日韩一区二区三区高清免费看看| 国产一卡二卡三卡四卡| 波多野结衣在线观看一区二区三区| 日韩在线播放一区| 日韩在线视频免费播放| 国产一区二区三区观看| 蜜桃久久影院| 色在线视频网| 欧美日韩精品电影| 国产精品亚洲无码| 在线日韩中文| 成人www视频在线观看| 色wwwwww| 亚洲女性喷水在线观看一区| 美女福利视频在线| 2021年精品国产福利在线| 亚洲欧美在线一区二区| 久久精品视频免费在线观看| 日韩国产在线一| 国产精品一区二区三区观看| 黄网站免费在线观看| 黑人巨大精品欧美一区二区三区 | 亚洲人永久免费| 精品99在线观看| 久久精品国产久精国产| 久久香蕉综合色| 视频在线观看入口黄最新永久免费国产| 在线亚洲高清视频| xxxx黄色片| 欧美日韩视频一区二区三区| 国产视频观看一区| 国产在线超碰| 懂色av一区二区三区| 人妻换人妻a片爽麻豆| 亚洲女同中文字幕| 91精品免费看| 午夜小视频在线| 91成人在线免费观看| 特级西西人体wwwww| 激情五月***国产精品| 99久久精品免费看国产一区二区三区| 在线观看免费网站黄| 在线免费一区三区| 免费一级做a爰片久久毛片潮| av成人毛片| 国产一区二区三区四区五区加勒比| 九七久久人人| 91精品国产黑色紧身裤美女| 性生交大片免费全黄| 久久精品国产一区二区| 在线观看欧美一区| 日本成人在线网站| 精品国内产的精品视频在线观看| 伊人久久国产精品| 国产精品久久网站| 91精产国品一二三产区别沈先生| 久久在线免费| 91精品视频网站| 成人在线直播| 欧美成va人片在线观看| 国产一级av毛片| 成人动漫av在线| 欧美日韩精品在线一区二区| 成人福利一区| 欧洲亚洲妇女av| 国产一二三在线观看| 欧美色中文字幕| 亚洲天堂一级片| 国产成人综合在线| 日韩av高清在线看片| 色婷婷av一区二区三区丝袜美腿| 欧美与欧洲交xxxx免费观看 | 粉嫩av一区二区| 国产精品宾馆| 亚洲成人在线视频播放| 国产精品第二十页| 久久嫩草精品久久久精品一| 亚洲第一中文av| 91精品观看| 久久青青草原一区二区| 久久xxx视频| 久久久av网站| 人人妻人人澡人人爽精品日本| 午夜不卡av在线| 国产精品国产三级国产专业不 | 色婷婷综合在线观看| 亚洲免费大片| 亚洲午夜久久久影院伊人| 久久国产精品美女| 欧美在线视频免费播放| 在线观看二区| 精品免费国产二区三区| 国产一级淫片a视频免费观看| 欧美久久综合网| 亚洲一区在线观看网站| 日本xxxx裸体xxxx| 六月婷婷色综合| 国产片侵犯亲女视频播放| 美日韩中文字幕| 成人性生交xxxxx网站| 国产精品论坛| 久久精品视频播放| 天堂а在线中文在线无限看推荐| 欧美少妇bbb| 亚洲精品国产精品乱码| 中文字幕一区在线| 美女又爽又黄视频毛茸茸| 国内欧美视频一区二区| 99热成人精品热久久66| 亚洲激情中文| 视频一区视频二区视频| caoporn成人| 国产综合视频在线观看| 成人性生活视频| 欧美劲爆第一页| 在线视频1区2区| 日韩成人免费视频| 精品国产乱码一区二区三| 日本精品一区二区三区高清 | 色婷婷久久久综合中文字幕| 亚洲综合网在线| 国产欧美日本一区视频| 美女又爽又黄免费| 国产精品一区二区久久不卡 | 日本中文字幕视频一区| 欧美一区视频在线| 成人性生交大片免费看网站| 日韩视频欧美视频| av在线免费观看网| 亚洲人成电影在线播放| 天堂在线中文网| 精品少妇一区二区三区日产乱码| 亚洲中文字幕在线观看| 在线精品视频小说1| 成人午夜视频在线播放| 亚洲成人久久影院| 免费在线观看黄视频| 亚洲视频中文字幕| 日韩av毛片在线观看| 国产精品天美传媒沈樵| 黄色片网站免费| 国产亚洲精品7777| 亚洲成人黄色av| 久久久青草青青国产亚洲免观| 完美搭档在线观看| 成人av网在线| 亚洲综合自拍网| 91网上在线视频| 毛茸茸多毛bbb毛多视频| 91在线看国产| 中文字幕高清视频| 国产亚洲美州欧州综合国| 亚欧洲乱码视频| 久久色.com| 免费网站在线高清观看| 国产欧美一区二区精品仙草咪| 中文字幕免费在线看线人动作大片| 久久久久久97三级| 亚洲性猛交xxxx乱大交| 中文字幕乱码亚洲精品一区| 无码人妻丰满熟妇啪啪欧美| 中文字幕不卡的av| 欧美特黄一级片| 椎名由奈av一区二区三区| 污污的视频在线免费观看| 一区二区三区丝袜| 日韩熟女精品一区二区三区| 精品色蜜蜜精品视频在线观看| 成人午夜视频在线播放| 精品视频在线免费观看| 国产露脸无套对白在线播放| 日韩一区二区三区四区五区六区| 高h震动喷水双性1v1| 精品视频在线导航| 99reav在线| 欧美激情第一页xxx| 久久青青视频| 国产人妖伪娘一区91| 1769国产精品视频| 欧美人与物videos另类| 99精品美女| 草草视频在线免费观看| 久久蜜桃资源一区二区老牛| 亚洲黄色小视频在线观看| 国产精品一区二区在线看| 7788色淫网站小说| 中文字幕精品三区| 欧美成人免费看| 黑人精品xxx一区一二区| 亚洲一区二区三区网站| 国内精品国产三级国产a久久| 国产啪精品视频网站| 无人区乱码一区二区三区| 精品人伦一区二区三区 | 丁香婷婷深情五月亚洲| 丰满少妇在线观看资源站| 国产精品国产三级国产aⅴ无密码| 五月天丁香激情| 色女孩综合影院| www.国产精品视频| 亚洲午夜久久久影院| 天使と恶魔の榨精在线播放| 人人做人人澡人人爽欧美| 999精品视频在线观看| 精品国产免费人成电影在线观...| 日韩精品午夜| 阿v天堂2017| 国产一区二区三区黄视频| 免费看污片的网站| 亚洲成人免费av| 99久久久国产精品无码网爆| 亚洲欧美中文字幕| 久久免费电影| 91久久精品美女高潮| 精品一区欧美| 日韩精品在线中文字幕| 九九视频精品免费| 九色porny自拍视频| 亚洲成人自拍偷拍| 国产女人18毛片水18精| 在线视频中文亚洲| 亚洲欧美电影| 黑人中文字幕一区二区三区| 久久久国产精品| 国产九九在线视频| 91日韩在线专区| 日韩欧美三级在线观看| 欧美一卡二卡在线观看| 麻豆传媒免费在线观看| 国产精品久久久久久久久久久久久| 激情小说一区| 久艹在线免费观看| 国产激情视频一区二区三区欧美 | 狠狠久久亚洲欧美专区| 亚洲成人一级片| 超碰97人人做人人爱少妇| 欧美美女福利视频| 亚洲精品永久www嫩草| 视频一区欧美精品| 中文在线一区二区三区| 亚洲国产人成综合网站| 亚洲精品久久久久久无码色欲四季 | 中文字幕在线观看的网站| 亚洲一级二级在线| 亚洲av综合色区无码一区爱av| 久久影视免费观看 | 日韩国产欧美在线观看| 美女久久久久久久久久| 一区二区美女| 国产91av在线| 小说区图片区色综合区| av免费观看网| xnxx国产精品| 国产寡妇亲子伦一区二区三区四区| 亚洲国产精久久久久久久| 丰满大乳少妇在线观看网站 | a天堂在线观看视频| 久久手机精品视频| 天堂精品在线视频| 久久久久久www| 99久久久免费精品国产一区二区| a v视频在线观看| 亚洲女成人图区| 成人18视频在线观看| 在线一区亚洲| 国产成人综合网站| 精品91久久久| 亚洲色图偷窥自拍| 欧美高清免费| 日韩精品在线视频免费观看| 不卡av在线网| 无码人妻丰满熟妇区bbbbxxxx| 国产亚洲欧美日韩一区二区| 国产a亚洲精品| 欧美日韩视频免费| 99热这里都是精品| 中文字幕一区二区免费| 久热99视频在线观看| 中文字幕一区二区三区四区久久| 精品国产一区三区| 国产夜色精品一区二区av| 91好色先生tv| 久久久久久久一| 欧美人与拘性视交免费看| 日本不卡一区二区在线观看| 亚洲一区二区在线播放相泽| 欧美xxx.com| 91久久久久久久一区二区| 欧美亚韩一区| 在线不卡av电影| 日韩一区二区免费在线观看| 美女高潮在线观看| 亚洲视频在线二区| 成人18视频日本| 亚洲视屏在线观看| 欧美激情中文字幕在线| 欧州一区二区| 丰满熟女人妻一区二区三区| 色激情天天射综合网| 宅男网站在线免费观看| 欧美久久久久久久| 国产成人免费在线观看不卡| 久久久久久久久黄色| 久久99热这里只有精品国产| 美女毛片一区二区三区四区| 无码国产精品一区二区高潮| 91豆麻精品91久久久久久| 爱啪视频在线观看视频免费| 亚洲一区尤物|