JavaScript Lodash _.find() 方法
什么是 _.find() 方法
此方法用于搜索任何元素或满足某些条件的第一个元素。如果我们有一个对象或数组,并且我们想要知道满足给定条件的数组的第一个元素。那么我们将应用这个函数。
语法
_.find(object,condition,startingIndex)
这个函数接受三个参数,其中两个参数是必需的,一个是可选的。
- object: 这个参数接受我们要从中搜索元素的数组或对象。
- condition: 这是条件或函数,它接受数组的每个值并评估其值。如果元素满足条件,则将其返回给结果变量。
- startingIndex: 这是一个可选参数,它指定从哪个索引开始搜索元素,而不是从列表的开头开始。
返回值: 这个函数将返回满足给定条件的列表中的第一个元素。如果没有元素存在,则返回undefined。
现在,我们将看到_.find()方法的各种示例:
示例1
Javascript代码:
// importing the library
const _ = require('lodash');
//list for the _.find() method
let myList = [2, 3, 5, 7, 10, 13, 14, 15, 19];
//applying the _.find() method
let result = _.find(myList, function(num) {
if (num * num > 100) {
return true;
}
});
//printing the resultant array
console.log(result);
输出:
13
解释:
在以上代码中,我们使用require关键字导入了lodash库。然后我们创建了一个整数列表,用于使用_.find()
方法。然后我们在给定的列表上应用了_.find()
方法,在条件部分中,我们使用一个接受一个数字的函数。如果给定数字的平方大于100,则返回true。
在此函数中,传递了列表的每个值,并且我们得到了第一个值,即13,它的平方大于100,因此它将100存储在结果变量中。现在我们使用console.log()语句打印了结果值。
示例2
Javascript代码:
// importing the library
const _ = require('lodash');
//list for the _.find() method
let myList =[-89, 15, -69, -56, -1, 0, 29, 7, 10, 13, 15];
//applying the _.find() method
let result = _.find(myList, function(n) {
if (n > 10) {
return true;
}
}, 2);
//printing the resultant array
console.log(result);
输出:
29
说明:
在上述代码中,我们使用require关键字导入了lodash库。然后我们创建了一个整数列表来使用_.find()
方法。然后我们在给定的列表上应用了_.find()
方法,在条件部分中,我们使用了一个接受一个数字的函数。如果数字大于十,则返回true,但我们还使用了索引的第三个参数。
因此,在上面的示例中,第一个大于10的元素是15,但它的索引值为1,所以不会被考虑。然后我们有下一个值为29,大于十,并且它的索引值也大于2。所以我们得到的结果是29。
示例3
Javascript代码:
// importing the library
const _ = require('lodash');
//object for the _.find() method
let myObj= [
{'name': 'Ayush', marks:'85'},
{'name': 'Shivani', marks:'98'},
{'name': 'Gopal', marks:'96'},
{'name': 'Mansi', marks:'56'},
{'name': 'Ankit', marks:'68'},
];
//applying the _.find() method
let result = _.find(myObj, function(obj) {
if (obj.marks >= 85) {
return true;
}
});
//printing the resultant array
console.log(result);
输出:
{name: 'Ayush', marks:'85'}
解释:
在以上代码中,我们使用require关键字导入了lodash库。然后我们创建了一个对象来使用_.find()
方法。然后我们在给定的列表上应用了_.find()
方法,在条件部分使用了一个接受一个对象的函数。如果对象的分数大于或等于85,则返回true。所以Ayush有85分,满足条件,我们得到了结果作为一个列表,并使用console.log()语句打印出来。
示例4
Javascript代码:
// importing the library
const _ = require('lodash');
//list for the _.find() method
let myList =[-89, 15, -69, -56, -1, 0, 29, 7, 10, 13, 15];
//applying the _.find() method
let result = _.find(myList, function(n) {
if (n < -90) {
return true;
}
}, 2);
//printing the resultant array
console.log(result);
输出:
undefined
解释:
在上述代码中,我们发现元素小于-90,但它不存在。因此,我们得到的答案是未定义。