zoukankan      html  css  js  c++  java
  • Lodash数组篇

    概念简述

    • lodash 是一个类库
    • Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单
    • 用法  let _ = require('lodash')

    数组篇

        1、_.chunk(array,[size=1]) 切割数组

    作用: 讲数组array拆分成多个size长度的区块,并将这些区块组成一个新的数组,

    如果array无法分割成等长的区块,那么最后的剩余元素将组成一个区块。

    • 参数 array :需要处理的数组 size=1(number):每个数组区块的长度
    • 返回 (Array):返回一个包含拆分区块的新数组(相当于二维数组)
    • demo
          let _ = require("lodash");
          let arr = [1, 2, 3, 4, 5, 6];
          let arr_result = _.chunk(arr, 2);
          console.log(arr_result);
      //结果[[1,2],[3,4],[5,6]]
      //如果第二个参数要是4则变成 [[1,2,3,4],[5,6]]

      2、 _.compact(array) 刨去假值

    •     let _ = require("lodash");
          let arr = [0, 1, NaN, 2, null, 3, undefined];
          let arr_result = _.compact(arr);
          console.log(arr_result);
      //结果 [1,2,3]

      3、_.concat(array,[values]) 两个数组链接起来

          let _ = require("lodash");
          let arr = [1];
          let arr2 = _.concat(arr, 2, [3], [[4]], { name: "张三" });
          console.log(arr2);
      // 结果 [1, 2, 3, [4], {name: '张三'}]

      4、_.difference(array,[values]) 找出数组中不包含另一个数组中的元素

    • array:要检查的数组
      [values] :要排除的值
    •     let _ = require("lodash");
          let result = _.difference([3, 2, 100], [100, 2]);
          console.log(result);
      //结果就是[3]

      5、_.differenceBy(array,[values],condition)  支持数组对象

    • array:要检查的数组
      [values] :要排除的值
      条件 :他是先把2个数组里面的所有值都执行一遍条件,然后筛选出来
    •     let _ = require("lodash");
          let result = _.differenceBy(
            [{ name: "哈哈" , age: 22}, {name: '哈哈22'}, {name: '哈哈'}, { sex: "男" }],       // array
            [{ name: "哈哈" }],          // [values]  
            "name"
          );
          console.log(result);
      //结果[{name: '哈哈22'},{sex:"男"}]
          let _ = require("lodash");
          let result = _.differenceBy([12, 3, 4], [3, 1], function(item) {
            return item - 4 > 0;
          });
          console.log(result);   // [12]
          let _ = require("lodash");
          let result = _.differenceBy([3.1, 4.2, 5.3], [4.6, 5.1], Math.floor);
          console.log(result);     // 向下取整后 结果: 3.1  

      6、_.drop(array,[n=1]) 从左边开始切割  、_.dropRight(array,[n=1]) 从右边去掉

    •     let _ = require("lodash");
          let arr = [1, 2, 3, 4, 5, 6];
          let arr_result = _.drop(arr, 3);
          console.log(arr_result);    //结果: [4,5,6]

      7、_.flattenDeep(array) 回归一维数组

    •     let _ = require("lodash");
          let user = [1, [2, 3, 4, [6, 8, [9, 10]]]];
          let result = _.flattenDeep(user);
          console.log(result);
      //结果就是[1,2,3,4,6,8,9,10];

      8、_.uniq(array) 去重

  • 相关阅读:
    Kernel parameter requirements ( Linux DB2)
    db2 backup export
    db2 活动日志激增的原因分析处理
    db2 应用的最常见状态(转)
    db2 reorg到底需要多少表空间(转)
    HDLM for AIX安装
    db lock
    db2 tablespaces table bufferpools reorgs
    AIX文件系统和存储部署(转)
    真正看网络代码
  • 原文地址:https://www.cnblogs.com/zhaoxiaobei/p/10654813.html
Copyright © 2011-2022 走看看