这篇文章主要介绍“JS怎么返回满足给定条件的首个元素”,在日常操作中,相信很多人在JS怎么返回满足给定条件的首个元素问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS怎么返回满足给定条件的首个元素”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
方法1:利用for循环
实现思想:利用for语句来遍历数组,在每次循环中判断数组元素是否符合条件;当有第一个元素满足条件,就立马输出,然后使用break语句退出整个循环。
下面通过实例来具体了解一下:
示例1:输出数组中年龄大于等于 18 的第一个元素
var ages = [3, 10, 18, 20];
for(var i=0;i<ages.length;i++){
if (ages[i] >= 18) {
console.log(ages[i]);
break;
}
}
ages数组中大于等于 18的元素有 18和20两个,但18在20前,因此满足添加的第一个元素为18。因此输出结果为:
示例2:输出数组中第一个非数字的元素
var a = [1,"编程网", 10, "red", 20,"22"];
for(var i=0;i<a.length;i++){
var re = /^[0-9]+.?[0-9]*/;//判断字符串是否为数字 //判断正整数/[1−9]+[0−9]∗]∗/
if (!re.test(a[i])) {
console.log(a[i]);
break;
}
}
输出结果:
方法2:利用 find() 方法
find() 方法为数组中的每个元素都调用一次函数,在回调函数内利用给定添加过滤元素,返回第一个通过检测的元素。
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 undefined
语法:
array.find(function callbackfn(Value,index,array),thisValue)
function callbackfn(Value,index,array)
:一个回调函数,不可省略,最多可接受三个参数:
value:当前数组元素的值,不可省略。
index:当前数组元素的数字索引。
array:当前元素属于的数组对象。
返回值:返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined。
下面通过实例来具体了解一下:
示例1:输出数组中年龄大于等于 18 的第一个元素
function checkAdult(age) {
return age >= 18;
}
var ages = [3, 10, 18, 20];
var age=ages.find(checkAdult);
console.log(age);
输出结果:
18
示例2:输出数组中第一个非数字的元素
function checkAdult(num) {
var re = /^[0-9]+.?[0-9]*/;//判断字符串是否为数字 //判断正整数/[1−9]+[0−9]∗]∗/
return !re.test(num);
}
var a = [1,"编程网", 10, "red", 20,"22"];
console.log(a.find(checkAdult));
输出结果:
方法3:利用 findIndex() 方法
findIndex() 方法为数组中的每个元素都调用一次函数,在回调函数内利用给定添加过滤元素,返回第一个通过检测的元素的索引位置。
当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 -1
语法:
array.findIndex(function callbackfn(Value,index,array),thisValue)
该方法的语法和 find()类似,参数取值可以参数find()方法。
下面通过实例来具体了解一下:
示例1:输出数组中年龄大于等于 18 的第一个元素
function checkAdult(age) {
return age >= 18;
}
var ages = [3, 10, 18, 20];
var age=ages.findIndex(checkAdult);
console.log(age);
console.log(ages[age]);
findIndex() 方法可以返回第一个满足条件的元素索引,根据该索引,使用“数组名[索引]
”的形式就可以获取到元素值。因此输出结果为:
示例2:输出数组中第一个非数字的元素
function checkAdult(num) {
var re = /^[0-9]+.?[0-9]*/;//判断字符串是否为数字 //判断正整数/[1−9]+[0−9]∗]∗/
return !re.test(num);
}
var a = [1,"编程网", 10, "red", 20,"22"];
var index=a.findIndex(checkAdult);
console.log(index);
console.log(a[index]);
输出结果为:
到此,关于“JS怎么返回满足给定条件的首个元素”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!