_.find()方法访问集合的每个值,并返回通过谓词的真值测试的第一个元素;如果没有值通过测试,则返回未定义的第一个元素。该函数找到匹配项后立即返回。因此,它实际上根据谓词搜索元素。
用法:
_.find(collection, predicate, fromIndex)
参数:此方法接受上述和以下所述的三个参数:
- collection:此参数保存需要检查的数组或对象集合。
- predicate:此参数保存调用迭代的函数。
- fromIndex:此参数保存您要从其开始搜索的索引(可选)。如果您不传递此参数,那么它将从头开始搜索。
返回值:它返回匹配的元素,如果没有匹配项,则返回undefined。
范例1:在此示例中,我们将尝试找到第一个平方大于100的数字。
const _ = require('lodash');
let x = [2, 5, 7, 10, 13, 15];
let result = _.find(x, function(n) {
if (n * n > 100) {
return true;
}
});
console.log(result);
这里,const _ = require('lodash')
用于将lodash库导入文件中。
输出:
13
范例2:在此示例中,我们将在列表中找到大于10的第一个数字,但从索引2开始搜索。
const _ = require('lodash');
let x = [-1, 29, 7, 10, 13, 15];
let result = _.find(x, function(n) {
if (n > 10) {
return true;
}
}, 2);
console.log(result);
输出:
13
范例3:在此示例中,我们将搜索列表中得分大于90的第一个学生(对象)。
const _ = require('lodash');
let x = [
{'name':'Akhil', marks:'78'},
{'name':'Akhil', marks:'98'},
{'name':'Akhil', marks:'97'}
];
let result = _.find(x, function(obj) {
if (obj.marks > 90) {
return true;
}
});
console.log(result);
输出:
{ name:'Akhil', marks:'98' }
范例4:当没有元素在谓词上返回true时。
const _ = require('lodash');
let x = [1, 2, 7, 10, 13, 15];
let result = _.find(x, function(n) {
if (n < 0) {
return true;
}
});
console.log(result);
输出:
undefined
注意:在正常的JavaScript中这将无法正常工作,因为它需要安装库lodash。
参考: https://lodash.com/docs/4.17.15#find
相关用法
- Lodash _.take()用法及代码示例
- Lodash _.nth()用法及代码示例
- Lodash _.xor()用法及代码示例
- Lodash _.castArray()用法及代码示例
- Lodash _.differenceWith()用法及代码示例
- Lodash _.fromPairs()用法及代码示例
- Lodash _.cloneDeep()用法及代码示例
- Lodash _.zipWith()用法及代码示例
- Lodash _.zipObject()用法及代码示例
- Lodash _.sampleSize()用法及代码示例
- Lodash _.clone()用法及代码示例
- Lodash _.head()用法及代码示例
- Lodash _.pull()用法及代码示例
- Lodash _.pullAll()用法及代码示例
- Lodash _.remove()用法及代码示例
- Lodash _.pullAt()用法及代码示例
- Lodash _.takeRight()用法及代码示例
- Lodash _.sortedLastIndex()用法及代码示例
- Lodash _.tail()用法及代码示例
注:本文由纯净天空筛选整理自iamsahil1910大神的英文原创作品 Lodash | _.find() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。