lodash和underscore:js实用工具库

举报
彭世瑜 发表于 2021/08/14 01:19:02 2021/08/14
【摘要】 lodash VS underscore 一、对比二、lodash三、underscore 一、对比 名称简介文档github最后提交starlodashJavaScript 实用工具库docgithubunderscore一个JavaScript实用库docgithub 二、lodash 安装 npm i --save lodash 1 使用...

一、对比

名称 简介 文档 github 最后提交 star
lodash JavaScript 实用工具库 doc github GitHub last commit
underscore 一个JavaScript实用库 doc github GitHub last commit

二、lodash

安装

npm i --save lodash

  
 
  • 1

使用示例

var _ = require("lodash");

// 拆分数组
_.chunk(["a", "b", "c", "d"], 2);
// [ [ 'a', 'b' ], [ 'c', 'd' ] ]

// 过滤掉假值
console.log(_.compact([0, 1, false, 2, "", 3]));
// => [1, 2, 3]

// 打乱集合
console.log(_.shuffle([1, 2, 3]));
// [ 2, 3, 1 ]

// 查找数据
var users = [
  { id: 1, user: "barney" },
  { id: 2, user: "fred" },
  { id: 3, user: "pebbles" }
];

console.log(
  _.find(users, function(user) { return user.id == 1;
  })
);
// { id: 1, user: 'barney' }


// 浅拷贝
var objects = [{ a: 1 }, { b: 2 }];

var shallow = _.clone(objects);
console.log(shallow[0] === objects[0]);
// => true

// 深拷贝
var objects = [{ a: 1 }, { b: 2 }];

var deep = _.cloneDeep(objects);
console.log(deep[0] === objects[0]);
// => false


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

三、underscore

<script src="https://cdn.bootcdn.net/ajax/libs/underscore.js/1.13.0-0/underscore-umd.min.js"></script>

<button onclick="echo_debounce()">echo_debounce</button>

<button onclick="echo_throttle()">echo_throttle</button>

<script> // doc: https://underscorejs.net/#debounce // https://www.lodashjs.com/docs/lodash.debounce // 防抖:每次点击都会重新开始计时 // _.debounce(function, wait, [immediate]) function echo(){ console.log('click'); } const echo_debounce = _.debounce(echo, 3000) // 节流:点击后会锁定时间一段时间 // _.throttle(function, wait, [options]) const echo_throttle = _.throttle(echo, 3000)

</script>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

参考
JS魔法堂:函数节流(throttle)与函数去抖(debounce)

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/107608499

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。