vue---lodash的使用

Lodash就是這樣的一套工具庫,它內部封裝了諸多對字符串、數組、對象等常見數據類型的處理函數,其中部分是目前ECMAScript還沒有制訂的規範,但同時被業界所承認的輔助函數。莫倩天天使用npm安裝Lodash的數量在百萬級以上,這在必定程度上證實了其代碼的健壯性,值得咱們在項目中一試。html

模塊組成:web

Array, 適合於數組類型,好比填充數據、查找元素、數組分片等操做
Collocation, 適用於數組和對象類型,部分適用於字符串,好比分組、查找、過濾等操做
Function, 適用於函數類型,好比節流、延遲、緩存、設置鉤子等操做
Lang, 廣泛適用於各類類型,經常使用於執行類型判斷和類型轉換
Math, 使用與數值類型,經常使用於執行數學運算
Number, 適用於生成隨機數,比較數值與數值區間的關係
Object, 適用於對象類型,經常使用於對象的建立、擴展、類型轉換、檢索、集合等操做
Seq, 經常使用於建立鏈式調用,提升執行性能(惰性計算)
String, 適用於字符串類型
lodash/fp 模塊提供了更接近函數式編程的開發方法,其內部的函數通過包裝,具備immutable、auto-curried、iteratee-first、data-last(官方介紹)等特色。
Fixed Arity,固化參數個數,便於柯里化
Rearragned Arguments, 從新調整參數位置,便於函數之間的聚合
Capped Iteratee Argument, 封裝Iteratee參數

安裝使用:npm

npm install --save lodash
npm install --save-dev babel-plugin-lodash

具體的使用方法:編程

import _ from 'lodash';
import { add } from 'lodash/fp';

const addOne = add(1);
_.map([1, 2, 3], addOne);

測試的幾個經常使用的使用方法:數組

lodashTest:function(){
  // 循環5次數
  _.times(5,function(i){
    console.log(i);
  });
  // 深度 copy 
  let objA = {name:'zzl'};
  let objB = _.cloneDeep(objA);
  console.log(objB);
  // 隨機數
  console.log(_.random(5,80));
  // 對象擴展
  let objC = {"names": "colin", "car": "suzuki"};
  let objD = {"name": "james", "age": 17};
  let objE = _.assign(objC, objD);
  console.log(objE); // 合併到了一塊兒
  // 篩選
  let objF = {"name": "colin", "car": "suzuki", "age": 17};
  console.log(_.omit(objF,['car','age'])); // 移除 car 和 age 保留 name
  console.log(_.omit(objF,'name')); // 移除 name 保留 car 和 age
  console.log(_.pick(objF,['name','age'])); // 篩選出 name age
  // 隨機元素
  let objG = ["Colin", "John", "James", "Lily", "Mary"];
  console.log(_.sample(objG));// 隨機一個
  console.log(_.sample(objG,2));// 隨機兩個
  // JSON.parse 錯誤處理      
  console.log(parseLodash('{"name": "colin"}'));
  function parseLodash(str){
    return _.attempt(JSON.parse.bind(null, str));
  }
},

參考文檔:https://www.cnblogs.com/webbest/p/8268115.html緩存

相關文章
相關標籤/搜索