JS数组学习之返回满足给定条件的全部元素

lxf2023-03-11 08:18:01

在其他回答《JS数组学习之返回满足给定条件的全部元素》中,大家阐述了过虑数组元素,获得达到给出标准的所有元素方式。此次我们再聊一聊过虑原素,介绍一下获得第一个达到给出标准元素方式,感兴趣的小伙伴可以学了解一下~

今日文中主要内容是:遍历数组,检验二维数组中元素是否符合特定标准,回到符合要求的第一个数组元素。简单来说:就是按照特定标准过虑数组元素,回到标记标准的第一个数组元素数值。

下面来详细介绍3种方式,从熟悉的for循环逐渐,随后详细介绍2种内置函数--看这2个函数公式能如何过虑数组元素,获得第一个对符合条件的原素。

方式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和202个,但18在20前,因而达到使用的第一个元素为18。因而输出结果为:

JS数组学习之返回满足给定条件的全部元素

实例2:输出数组中第一个非数据元素

var a = [1,"AdminJS", 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;
} 
}

输出结果:

JS数组学习之返回满足给定条件的全部元素

方式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,"AdminJS", 10, "red", 20,"22"];
console.log(a.find(checkAdult));

输出结果:

JS数组学习之返回满足给定条件的全部元素

方式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() 方法来回到第一个符合要求的原素检索,根据该检索,应用“数组名[检索]”的方式就能掌握到原素值。因而输出结果为:

JS数组学习之返回满足给定条件的全部元素

实例2:输出数组中第一个非数据元素

function checkAdult(num) {
var re = /^[0-9] .?[0-9]*/;//判断字符串是否属于数据  //分辨整数/[1−9] [0−9]∗]∗/ 
    return !re.test(num);
}

var a = [1,"AdminJS", 10, "red", 20,"22"];
var index=a.findIndex(checkAdult);
console.log(index);
console.log(a[index]);

输出结果为:

JS数组学习之返回满足给定条件的全部元素

好啦,就说到这儿了,有需求的能看:javascript视频教学

以上就是关于JS二维数组学习之回到达到给出标准的首个元素具体内容,大量欢迎关注AdminJS其他类似文章!