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