您当前的位置: 首页 > 

彭世瑜

暂无认证

  • 2浏览

    0关注

    2791博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

lodash和underscore:js实用工具库

彭世瑜 发布时间:2020-07-27 11:36:49 ,浏览量:2

lodash VS underscore
    • 一、对比
    • 二、lodash
    • 三、underscore

一、对比 名称简介文档github最后提交starlodashJavaScript 实用工具库docgithubGitHub last commitunderscore一个JavaScript实用库docgithubGitHub last commit 二、lodash

安装

npm i --save lodash

使用示例

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

三、underscore


echo_debounce

echo_throttle


    // 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)


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

关注
打赏
1665367115
查看更多评论
立即登录/注册

微信扫码登录

0.2464s