lodash使用方法大全
一、數組方法總結
(1)chunk:將數組切割,變為二位數組
例: var arr = [1, 2, 3, 4]
var chunkArr = _.chunk(arr, 2)
console.log(‘chunkArr:’, chunkArr)
輸出結果:[[1, 2], [3, 4]]
(2)compact: 去除假值
例: var arr = [1, 3, 0, NaN, undefined, ‘’, 9]
var compactArr = _.compact(arr)
console.log(‘compactArr:’, compactArr)
輸出結果:[1, 3, 9]
(3)uniq: 數組去重
例:var arr = [1, 1, 3, 6, 6, 9, 4, 9]
var uniqArr = _.uniq(arr)
console.log(‘uniqArr:’, uniqArr)
輸出結果: [1, 3, 6, 9, 4]
(4)reject: 根據條件去除數組元素
例:var arr = [
{ id: 1, name: ‘李狗蛋’ },
{ id: 2, name: ‘葉良辰’ },
{ id: 3, name: ‘趙日天’ },
]
var rejectArr = _.reject(arr, [‘name’, ‘葉良辰’])
console.log(‘rejectArr:’, rejectArr)
輸出結果:[ { id: 1, name: ‘李狗蛋’ }, { id: 3, name: ‘趙日天’ }, ]
(5)shuffle: 數組無序化
例: var arr = [1, 2, 3, 4, 5, 6]
var shuffleArr = _.shuffle(arr)
console.log(‘shuffleArr:’, shuffleArr)
輸出結果:{id: 111, name: “龍傲天”}
(6)pick: 對象中篩選屬性
例: var arr = { id: 111, name: ‘龍傲天’, age: 18 }
var pickArr = _.pick(arr, [‘id’, ‘name’])
console.log(‘pickArr:’, pickArr)
輸出結果:{id: 111, name: “龍傲天”}
(7)keys: 得到對象中所有的屬性名,以數組的方式保存
例: var obj = { id: 0, name: ‘陳車仔’, age: ‘One year’ }
var arr = _.keys(obj)
console.log(arr)
輸出結果:[“id”, “name”, “age”]
(8)cloneDeep: 深拷貝
例: var obj = { id: 0, name: ‘陳車仔’, age: ‘One year’ }
var cloneDeepObj = _.cloneDeep(obj)
cloneDeepObj.name = ‘陳烏冬’
console.log(‘obj:’, obj, ‘cloneDeepObj’, cloneDeepObj)
輸出結果:obj: {id: 0, name: “陳車仔”, age: “One year”}
cloneDeepObj {id: 0, name: “陳烏冬”, age: “One year”}
(9)merge: 合并
例: var obj1 = { a: [{ one: 1, two: 2 }] }
var obj2 = { b: [{ three: 3, four: 4 }] }
var mergeObj = _.merge(obj1, obj2)
console.log(‘mergeObj:’, mergeObj)
輸出結果:{ a: [{ one: 1, two: 2 }],b: [{ three: 3, four: 4 }] }
(10)sample: 隨機獲取數組中的一個元素
例: var arr = [‘小白’, ‘小崽’, ‘金黑’, ‘小美’, ‘小五’]
var sampleStr = _.sample(arr, 1)
console.log(‘sampleStr:’, sampleStr)
輸出結果:小白
(11)keyBy: 根據key值將數組轉化為對象
例: var arr = [
{ id: 1, name: ‘李狗蛋’ },
{ id: 2, name: ‘葉良辰’ },
{ id: 3, name: ‘趙日天’ },
]
var keyByObj = _.keyBy(arr, ‘name’)
console.log(‘keyByObj:’, keyByObj)
輸出結果: {
葉良辰: {id: 2, name: “葉良辰”}
李狗蛋: {id: 1, name: “李狗蛋”}
趙日天: {id: 3, name: “趙日天”}
}
(12)map: 將數組中屬性名對應的屬性值篩選為新的數組
例: var arr = [
{ id: 1, name: ‘李狗蛋’ },
{ id: 2, name: ‘葉良辰’ },
{ id: 3, name: ‘趙日天’ },
]
var MapArr = _.map(arr, ‘name’)
console.log(‘MapArr:’, MapArr)
輸出結果: [“李狗蛋”, “葉良辰”, “趙日天”]
(13)flatten: 數組扁平化(flatten:去掉一層, flattenDeep: 徹底扁平化)
例: var arr = [1, 2, [3, 4, [5, 6]]]
var flattenArr1 = _.flatten(arr)
var flattenArr2 = _.flattenDeep(arr)
console.log(‘flattenArr1:’, flattenArr1, ‘flattenArr2’, flattenArr2)
輸出結果: flattenArr1: (5) [1, 2, 3, 4, Array(2)] flattenArr2 (6) [1, 2, 3, 4, 5, 6]
(14).max/.min/.sum 數組中最大值,最小值,求和
二、節流防抖
import _ from ‘lodash’;
(1)節流:
_.throttle(函數方法function,時間)
例:btnHandle: _.throttle(function () {
console.log(‘點擊了節流’)
}, 1000)
(2)防抖
_.debounce(函數方法function,時間)
例: btnHandle: _.debounce(function () {
console.log(‘點擊了防抖’)
}, 1000)
總結
以上是生活随笔為你收集整理的lodash使用方法大全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css3平移、旋转、倾斜、缩放、动画效果
- 下一篇: 共享桌面iOS