lodash——集合

集合指(Array|Object)。

countBy:创建一个组成对象,key为迭代器运算的结果,value为匹配该结果的数量(注:迭代次数)

groupBy:用法类似于_.countBy()。返回一个对象,key为迭代器运算的结果,value为包含所有匹配项的数组。

_.groupBy(['one', 'two', 'three'], 'length');
// => { '3': ['one', 'two'], '5': ['three'] }

forEach,forEachRight:遍历集合

every:检查 collection(集合)中的 所有 元素是否都返回真值

some:有一个符合条件就返回真值

filter

reject:和filter相反,返回不符合条件的元素

find:返回符合条件的第一个元素或者undefined

flatMap,flatMapDeep(有几层展开几层):创建一个扁平化(注:同阶数组)的数组,这个数组的值来自集合中的每一个值经过迭代函数处理后返回的结果,并且扁平化合并。(用于扩充数组)

function duplicate(n) {
  return [n, n];
}
 
_.flatMap([1, 2], duplicate);
// => [1, 1, 2, 2]

includes:检查value值是否在集合中

 invokeMap(collection, path, [args]):感觉跟_.map()的作用差不多

_.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');
// => [[1, 5, 7], [1, 2, 3]]
 
_.invokeMap([123, 456], String.prototype.split, '');
// => [['1', '2', '3'], ['4', '5', '6']]

keyBy:按照一定规则进行分组,用法雷同_.groupBy()。返回一个对象,key为迭代器运算的结果,value为匹配迭代方法的一项,如果多个项都匹配,value则取最后一个匹配上的项。

var array = [
  { 'dir': 'left', 'code': 97 },
  { 'dir': 'left1', 'code': 97 },
  { 'dir': 'right', 'code': 100 }
];
_.keyBy(array, function(o) {
  return String.fromCharCode(o.code);
});
// { 
//    a : {dir: "left1", code: 97},
//    d : {dir: "right", code: 100}
//  }

_.orderBy(collection, [iteratees=[_.identity]], [orders]):排序。这个方法跟_.sortBy挺像,不同的是_.orderBy可以指定迭代函数排序的方式orders,如果orders未指定,默认采取升序排列(排序)

_.partition(collection, [predicate=_.identity]):返回一个数组,将集合分成两部分,符合迭代函数规则的放在第一个数组,不符合迭代规则的放在第二个数组。(筛选)

reduce:看不懂

sample:获取一个随机元素;

sampleSize:获取n个随机元素

shuffle:打乱集合的顺序

size:返回集合的长度

sortBy:以迭代函数处理的结果升序排序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值