Lodash 扩展js通用方法


title: Lodash 扩展JS通用方法 date: 2017-11-18 author: asing1elife categories:

  • javascript tags:
  • javascript
  • lodash —> Lodash是一个著名的javascript原生库,不需要引入其他第三方依赖。是一个意在提高开发者效率,提高JS原生方法性能的JS库

官网

  1. Lodash Documentation
  2. lodash 中文文档

语法

集合[Collection]

  1. _.find 在集合中获取到指定元素
1
2
3
4
5
6
7
8
var users = [
  { 'user': 'barney',  'age': 36, 'active': true },
  { 'user': 'fred',    'age': 40, 'active': false },
  { 'user': 'pebbles', 'age': 1,  'active': true }
]
 
// 自定义匹配规则
_.find(users, function(o) { return o.age < 40; })
  1. _.filter 获取集合中满足条件的元素集
1
2
3
4
5
6
7
var users = [
  { 'user': 'barney', 'age': 36, 'active': true },
  { 'user': 'fred',   'age': 40, 'active': false }
]
 
// => { 'user': 'fred',   'age': 40, 'active': false }
_.filter(users, function(o) { return !o.active; })

数组[Array]

  1. _.findIndex 在数组中获取指定元素的索引
    • 匹配的规则可自定义
    • 匹配到则返回对应索引,否则返回-1
1
2
3
4
5
let fileType = currentFile.type

let currentIndex = _.findIndex(this.types, function (type) {
	return fileType.toLowerCase().match(new RegExp(type))
})
  1. _.unionWith 连接两个数组
    • 连接的规则可自定义
    • 规则返回true的则跳过
1
2
3
this.examPaper.examQuestions = _.unionWith(this.examPaper.examQuestions, this.selectQuestions, (a, b) => {
  return a.hexId === b.hexId
})
  1. _.drop 移除数组元素
    • 默认移除第一个元素
    • 可显式指定从第几个元素开始移除
1
_.drop(this.userWorkIds)