码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • lodash库_.chunk、_.pick、_.omit、_.cloneDeep、_.debounce方法


    lodash 模块化、高性能的 JavaScript 实用工具库。官方文档:https://www.lodashjs.com

    1.对数组进行分组 _.chunk(array, [size=1])

    使用场景,如移动端页面一行能放5个元素,总共7条数据,将一维数组转为二维数组,让一个数组只有5个成员

    参数:arr表示要分组的数组,num表示一个分组里面放几个元素

     arr: [{a: 1},{a: 2},{a: 3},{a: 4},{a: 5},{a: 6},{a: 7}],

    2.选中和过滤对象的属性_.pick(Object,[prop])和_.omit()

    _.pick(Object,[prop]) :第一个参数数据源,必须是对象,第二个参数需要获取的属性(可以是数组形式),返回新的数组

    _.omit():和pick相反,排除某个数据

    3.防抖处理

    _.debounce(fn,wait,[options]) : [options]是一个对象,可以设置定时器各种配置

    leading: true延时开始前是否调用,默认false

    trailing: false延时结束后是否调用,默认true

    注意:防抖函数在vue中的使用,在data中定义函数并调用_.debounce()函数后,进行return。

    直接在methods里面写不能被正常调用,因为_.debounce()主要是接收一个返回值,然后再执行返回函数。

    4. 数据进行深拷贝 _.cloneDeep(obj)

    使用场景:如vuex中对state数据是引用数据类型的修改,直接通过obj.a = 1的形式修改发现没有触发页面渲染

    1. <script>
    2. import _ from "lodash";
    3. export default {
    4. name: "Form",
    5. data() {
    6. const onDebounce = _.debounce(function() {
    7. console.log("按钮触发了---");
    8. },
    9. 1000,
    10. {
    11. leading: false,
    12. trailing: true
    13. })
    14. return {
    15. onDebounce,
    16. arr: [
    17. { a: 1 },
    18. { a: 2 },
    19. { b: 3 },
    20. { b: 4 },
    21. { c: 5 },
    22. { c: 6 },
    23. { d: 7 }
    24. ],
    25. obj:{
    26. name:'lmf',
    27. age: 23
    28. }
    29. };
    30. },
    31. mounted(){
    32. console.log(_.chunk(this.arr, 5));
    33. console.log(_.pick(this.obj, ['name']));
    34. console.log(_.omit(this.obj, ['name']));
    35. let obj2 = _.cloneDeep(this.obj)
    36. obj2.name = "limingfang"
    37. console.log(this.obj,obj2);
    38. },
    39. };
    40. script>

  • 相关阅读:
    Redis真没那么难,这份大佬实战笔记也太可了,吹爆
    std::apply 源码分析
    slim.fully_connected()
    AK F.*ing leetcode 流浪计划之半平面求交
    智能搬运小车(自动抓取、循迹)
    【云原生】EF(filebeat)K 日志收集平台
    elasticsearch中设置查询的请求超时时间
    揭示抽象的奥秘:抽象类与接口得一可安天下
    通过shiro进行按钮及页面访问url的权限控制
    Android 9.0 10.0 Launcher3 时钟动态图标的定制化(时钟动态图标)
  • 原文地址:https://blog.csdn.net/qq_34569497/article/details/133933106
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号