lodash的常见API
var foo = [
{id: 0, name: "aaa", age: 33},
{id: 1, name: "bbb", age: 25}
]
var bar = _.reject(foo, ['id', 0])
- _.pick:根据第二个参数的key的数组,筛选第一个参数中的值并返回
var foo = {id: 0, name: "aaa", age: 33}
var bar = _.pick(foo, ['name', 'age'])
var foo = {id: 0, name: "aaa", age: 33}
var bar = _.keys(foo)
- _.cloneDeep:深度拷贝,这个不用多说了吧,js中基础类型以外的类型,都会默认拷贝备份
var foo = {id: 0, name: "aaa", age: 33}
var bar = _.cloneDeep(foo)
- _.find:查找数组(注意一下如果没找到的话,会返回undefined,要处理一下)
var foo = [
{id: 0, name: "aaa", age: 33},
{id: 1, name: "bbb", age: 25}
]
var bar = _.find(foo, ['id', 0])
var foo = var foo = [
{id: 0, name: "aaa", age: 33},
{id: 1, name: "bbb", age: 25}
]
var bar = _.keyBy(foo, 'name')
- _.filter:根据条件过滤出符合条件的元素,返回新数组
var foo = var foo = [
{id: 0, name: "aaa", age: 33},
{id: 1, name: "bbb", age: 25}
]
var bar = _.filter(foo, ['name', "aaa"])
- _.map:从集合中挑出一个key,将其值作为数组返回
var foo = var foo = [
{id: 0, name: "aaa", age: 33},
{id: 1, name: "bbb", age: 25}
]
var bar = _.map(foo, 'name')
- .max/.min/_.sum:数组中最大值、最小值、数组求和
var foo = [1, 2, 3, 4]
var bar = _.max(foo)
bar = _.min(foo)
bar = _.sum(foo)
- .pad/.padStart/_.padEnd:在两端、开头、末尾补齐字符
var foo = "helloworld"
var bar = _.pad(foo, 14, '-')
bar = _.padStart(foo, 14, '-')
bar = _.padEnd(foo, 14, '-')
var foo = [
{id: 0, name: "aaa", age: 33},
{id: 1, name: "bbb", age: 25}
]
var bar = _.find(foo, ['id', _.max(_.map(foo, 'id'))])
var foo = [
{id: 0, name: "aaa", age: 33},
{id: 1, name: "bbb", age: 25}
]
let list = _.keyBy(foo, 'id')
list[0].name = "ccc"
var bar = _.map(list)