Lodash是一个JavaScript库,它使用函数式编程范例为常见的编程任务提供实用程序功能。下面提供了几个函数的使用示例。
数据示例
新建一个obj对象进行测试。
var obj = [{
"name": "Michael",
"age": "25",
"gender": "man",
"hobby": [
"Basketball", "Running"
]
},
{
"name": "Jack",
"age": "23",
"gender": "man",
"hobby": [
"Basketball", "Singing"
]
},
{
"name": "Lucy",
"age": "27",
"gender": "woman",
"hobby": [
"Dancing", "Running"
]
}
];
var obj2 = [{
"name": "Sky",
"age": "27",
"gender": "woman",
"hobby": [
"Dancing", "Running"
]
}];
用法示例
1._.filter
使用说明:对数组进行过滤,只返回符合条件的元素。
例,过滤gender
为man
的元素。
var boys = _.filter(obj, ['gender', 'man']);
结果:
[
{
"name": "Michael",
"age": "25",
"gender": "man",
"hobby": [
"Basketball",
"Running"
]
},
{
"name": "Jack",
"age": "23",
"gender": "man",
"hobby": [
"Basketball",
"Singing"
]
}
]
2._.some
使用说明:检查集合中是否有符合指定条件的元素,有则返回true。
例,是否存在名为Lucy
的女性。
var checkSome = _.some(obj, { "name": "Lucy", "gender": "woman" });
结果:
true
3._.map
使用说明:根据参数对集合进行处理并返回新数组。
例,获取name
属性组成的数组或者name
、gender
组成的数组。
var names = _.map(obj, 'name');
var result = _.map(obj, function(e){
return {"name":e.name,"gender":e.gender}
});
结果:
["Michael","Jack","Lucy"]
[{"name":"Michael","gender":"man"},{"name":"Jack","gender":"man"},{"name":"Lucy","gender":"woman"}]
4._.union
使用说明:合并多个JS数组。
例,合并obj、obj2两个数组。
var resultArray = _.union(obj, obj2);
console.log(JSON.stringify(resultArray));
结果:
[
{
"name": "Michael",
"age": "25",
"gender": "man",
"hobby": [
"Basketball",
"Running"
]
},
{
"name": "Jack",
"age": "23",
"gender": "man",
"hobby": [
"Basketball",
"Singing"
]
},
{
"name": "Lucy",
"age": "27",
"gender": "woman",
"hobby": [
"Dancing",
"Running"
]
},
{
"name": "Sky",
"age": "27",
"gender": "woman",
"hobby": [
"Dancing",
"Running"
]
}
]
参考: