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) 去重


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM