当前位置: 首页>>代码示例>>用法及示例精选>>正文


Lodash _.find()用法及代码示例

_.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




相关用法

注:本文由纯净天空筛选整理自iamsahil1910大神的英文原创作品 Lodash | _.find() Method。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。