1.find
var _ = require(‘lodash‘); var user1 = { name: ‘zhangsan‘, height: 180, weight: 120 }; var user2 = { name: ‘lisi‘, height: 180, weight: 130 }; var user3 = { name: ‘zhangsan‘, height: 180, weight: 131 }; var users = [user1, user2, user3]; var result = _.find(users, {name: ‘zhangsan‘, weight: 131}); console.log(result);
2.findIndex
_.findIndex(array, [predicate=_.identity], [thisArg])
该方法类似 _.find,区别是该方法返回的是符合 predicate条件的第一个元素的索引,而不是返回元素本身.
参数 predicate 提供的是一个属性名称,就通过提供的参数使用 _.property方法返回一个回调函数
如果参数thisArg值提供的话,就使用 _.matchesProperty方法匹配相同的属性值,相同返回true,不同返回false
如果参数predicate提供的是一个对象,就使用 _.matches方法匹配相同的元素,相同返回true,不同返回false
参数
array (Array): 需要搜索的数组
[predicate=_.identity] (Function|Object|string): 数组遍历满足的条件
[thisArg] (*): 对应 predicate 属性的值.
返回值
(number): 返回符合查询条件的元素的索引值, 未找到则返回 -1.
var users = [ { ‘user‘: ‘barney‘, ‘active‘: false }, { ‘user‘: ‘fred‘, ‘active‘: false }, { ‘user‘: ‘pebbles‘, ‘active‘: true } ]; _.findIndex(users, function(chr) { return chr.user == ‘barney‘; }); // => 0 // using the `_.matches` callback shorthand _.findIndex(users, { ‘user‘: ‘fred‘, ‘active‘: false }); // => 1 // using the `_.matchesProperty` callback shorthand _.findIndex(users, ‘active‘, false); // => 0 // using the `_.property` callback shorthand _.findIndex(users, ‘active‘); // => 2
3.filter
var result = _.filter(users, function(user){ return user.weight > 125; });
4.pluck
var users = [ { ‘user‘: ‘barney‘, ‘age‘: 36 }, { ‘user‘: ‘fred‘, ‘age‘: 40 } ]; _.pluck(users, ‘user‘); // => [‘barney‘, ‘fred‘]
时间: 2024-11-03 05:43:56