1.find 2.findIndex _.findIndex(array, [predicate=_.identity], [thisArg])該方法類似 _.find,區別是該方法返回的是符合 predicate條件的第一個元素的索引,而不是返回元素本身. 參數 predicate 提供的是一個屬 ...
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']