获取地址
文档地址
中文api地址
一.“Array” 方法:
_.compact(array)
作用:创建一个新数组,包含原数组中所有的非假值元素。例如false
, null
, 0
, ""
, undefined
, 和 NaN
都是被认为是“假值”。
例如:
var arr = [2, 2, 1, 3, 2, 4, 22, false, 0, 100]
arr = _.compact(arr);
console.log(arr) //[2, 2, 1, 3, 2, 4, 22, 100]
_.uniq(array)
作用:去重,创建一个去重后的array
数组副本。使用了 SameValueZero
做等值比较。只有第一次出现的元素才会被保留。
例如:
var arr = [2, 2, 1, 3, 2, 4, 22, false, 0, 100]
arr = _.uniq(arr);
console.log(arr) //[2, 1, 3, 4, 22, false, 0, 100]
很多情况可以将 _.compact
和
_.uniq
配合使用,已得到一个去重的,去除假值的数据
针对数组对象去重:
场景:需要将数组对象中TeamId属性值相同的去重
var arr = [{'TeamId',1},{'TeamId',3},{'TeamId',2},{'TeamId',4},{'TeamId',1}]
var newarr = _.uniqBy(arr , 'TeamId');
_.uniqBy([2.1, 1.2, 2.3], Math.floor);
// => [2.1, 1.2]
// The `_.property` iteratee shorthand.
_.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
// => [{ 'x': 1 }, { 'x': 2 }]
_.findIndex(array, [predicate=_.identity], [fromIndex=0])
作用:该方法类似_.find
,区别是该方法返回第一个通过 predicate
判断为真值的元素的索引值(index),而不是元素本身。