當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。