lodash
Array
1._compact(array),剔除数组中的false值,包括0,false,null,undefined,NaN,'';
let
a = _.compact([
0
,
1
,
false
,
null
,
undefined
,
NaN
,
''
,
4
]);
//1,4
2._.concat(value,value,...),返回新的连接后的数组。
var array = [
1
];
var other1 = _.
concat
(array,
2
,[
3
],
[[4]]
);//[
1
,
2
,
3
,[
4
]]
var other2 = _.
concat
(
2
, [
3
],
[[4]]
);//[
2
,
3
,[
4
]]
3._.drop(array,n),n默认为1,表示从第n个位置开始截取数组
_.drop([
1
,
2
,
3
]);
// => [2, 3]
_.drop([
1
,
2
,
3
],
2
);
// => [3]
_.drop([
1
,
2
,
3
],
5
);
// => []
_.drop([
1
,
2
,
3
],
0
);
// => [1, 2, 3]
4._.findIndex 按条件查找索引值,找到多条返回第一个index,找不到返回-1
var
users = [
{
'user'
:
'barney'
,
'active'
:
false
},
{
'user'
:
'fred'
,
'active'
:
false
},
{
'user'
:
'pebbles'
,
'active'
:
true
}
];
_.findIndex(users,
function
(o)
{
return
o.user ==
'barney'
; });
// => 0
// The `_.matches` iteratee shorthand.
_.findIndex(users, {
'user'
:
'fred'
,
'active'
:
false
});
// => 1
// The `_.matchesProperty` iteratee shorthand.
_.findIndex(users, [
'active'
,
false
]);
// => 0
// The `_.property` iteratee shorthand.
_.findIndex(users,
'active'
);
// => 2
5._.join(array,'~')
将数组中的所有元素转换为由分隔符连接的字符串; 默认以‘,’连接
let
tmpJoin = _.
join
([
'a'
,
'b'
,
'c'
]);
//a,b,c
Collection
1._.forEach
_.forEach([
1
,
2
],
function
(
value
)
{
console
.log(value);
});
_.forEach({
'a'
:
1
,
'b'
:
2
},
function
(
value, key
)
{
console
.log(key);
});
2._.filter
返回数组
var
users = [
{
'user'
:
'barney'
,
'age'
:
36
,
'active'
:
true
},
{
'user'
:
'fred'
,
'age'
:
40
,
'active'
:
false
}
];
_.filter(users,
function
(o)
{
return
!o.active; });
// => objects for ['fred']
// The `_.matches` iteratee shorthand.
_.filter(users, {
'age'
:
36
,
'active'
:
true
});
// => objects for ['barney']
// The `_.matchesProperty` iteratee shorthand.
_.filter(users, [
'active'
,
false
]);
// => objects for ['fred']
// The `_.property` iteratee shorthand.
_.filter(users,
'active'
);
// => objects for ['barney']
3._.find
返回匹配的一条数据,或者undefined
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
; });
// => object
for
'barney'
// The `_.matches` iteratee shorthand.
_.
find
(users, {
'age'
:
1
,
'active'
:
true
});
// => object
for
'pebbles'
// The `_.matchesProperty` iteratee shorthand.
_.
find
(users, [
'active'
,
false
]);
// => object
for
'fred'
// The `_.property` iteratee shorthand.
_.
find
(users,
'active'
);
// => object
for
'barney'
4._.groupBy
_
.groupBy([
6.1
,
4.2
,
6.3
],
Math
.floor);
// => {
'4'
: [
4.2
],
'6'
: [
6.1
,
6.3
] }
//
The
`_.property`
iteratee shorthand.
_
.groupBy([
'one'
,
'two'
,
'three'
],
'length'
);
// => {
'3'
: [
'one'
,
'two'
],
'5'
: [
'three'
] }
5._.orderBy
以某个字段按照某种顺序排序,排序字段多个时,以第一个字段为主
var users = [
{
'user'
:
'fred'
,
'age'
:
48
},
{
'user'
:
'barney'
,
'age'
:
34
},
{
'user'
:
'fred'
,
'age'
:
40
},
{
'user'
:
'barney'
,
'age'
:
36
}
];
_
.orderBy(users, [
'user'
,
'age'
], [
'asc'
,
'desc'
]);
// => objects for [[
'barney'
,
36
], [
'barney'
,
34
], [
'fred'
,
48
], [
'fred'
,
40
]]
6._.sortBy
按照升序排序
var users = [
{
'user'
:
'fred'
,
'age'
:
48
},
{
'user'
:
'barney'
,
'age'
:
36
},
{
'user'
:
'fred'
,
'age'
:
40
},
{
'user'
:
'barney'
,
'age'
:
34
}
];
_
.sortBy(users, [function(o) { return o.user; }]);
// => objects for [[
'barney'
,
36
], [
'barney'
,
34
], [
'fred'
,
48
], [
'fred'
,
40
]]
_
.sortBy(users, [
'user'
,
'age'
]);
// => objects for [[
'barney'
,
34
], [
'barney'
,
36
], [
'fred'
,
40
], [
'fred'
,
48
]]
7._.size
获取collection(Array,Object,String)的长度
_.
size
([
1
,
2
,
3
]);
// => 3
_.
size
({
'a'
:
1
,
'b'
:
2
});
// => 2
_.
size
(
'pebbles'
);
// => 7
Lang
1._.isArray
_
.isArray([
1
,
2
,
3
]);
// => true
_
.isArray(document.body.children);
// => false
_
.isArray(
'abc'
);
// => false
_
.isArray(
_
.noop);
// => false
Object
1._.has
检查对象是否有某属性
var
object = {
'a'
: {
'b'
:
2
} };
var
other =
_
.create({
'a'
:
_
.create({
'b'
:
2
}) });
_
.has(object,
'a'
);
// => true
_
.has(object,
'a.b'
);
// => true
_
.has(object, [
'a'
,
'b'
]);
// => true
_
.has(other,
'a'
);
// => false