JS二维数组学习之分辨数组元素

lxf2023-03-08 13:15:02

在上一篇文章《JS数组学习之遍历数组,将元素值全部扩大一倍》中,大家阐述了遍历数组,对字符串中每一个原素予以处理的办法。此次再次聊一聊二维数组的赋值,介绍一下检验数组元素是不是所有合乎特定要求的这些方法,感兴趣的小伙伴可以学了解一下~

我们该如何判断数组中元素是否符合特定标准?比如遍历数组,查验二维数组中元素是不是均为双数,那应该如何操作?

下面来详细介绍3种方式,从熟悉的for循环逐渐,随后详细介绍2种内置函数--看一下应用这些来怎么检测。

方式1:运用for循环

完成观念:

  • 运用for句子来遍历数组

for(var i=0;i<a.length;i  ){
}
  • 查验二维数组中元素是不是均为双数,相反:只要有一个并不是双数,那样可以得出“不完整为双数”。

因而完成编码能够这么写:

var a = [2,4,5,6,8],b=0;
for(var i=0;i<a.length;i  ){
if (a[i] % 2 != 0) {
b=0
break;
}else{
b  ;
}
}
if (b) {
console.log("全是双数");
} else {
console.log("不完整为双数");
}

剖析编码:

  • 大家用了一个中间变量b取值为0,假如数组元素为双数,b就自增1;若有一个数组元素并不是双数,b数值就又再次变成0,且应用“break;”退出循环。

  • 这时我们判断自变量b数值就可以知道二维数组中元素是不是均为双数:假如b>0则全是双数;假如b=0则不完整为双数。

由于二维数组中元素5并不是双数,因而输出结果为:

JS二维数组学习之分辨数组元素

方式2:运用some()方式

some()方式可以检测二维数组中存不存在对符合条件的原素。换个角度思考,还可以用来检验二维数组中所有原素是不是都不符特定标准,都不符的话那就回到 false,有一个或是好几个合乎的话那就回到 true。(与上文编码是一个构思)

array.some(function callbackfn(Value,index,array),thisValue)

function callbackfn(value,index,array):一个调用函数,不能省去,最多能接纳三个主要参数:

  • value:现阶段数组元素数值,不能省去。

  • index:现阶段数组元素数字检索。

  • array:现阶段原素归属于的数组对象

我们来看一下完成编码:

function f(value, index, ar) {
    if (value % 2 != 0) {
        return true;
    }
}
var a = [2,4,6,8,10,12];
var b = a.some(f);
if (b) {
console.log("不完整为双数");
} else {
console.log("全是双数");
}

能够得知:由于二维数组中元素全是双数,因而输出结果为:

JS二维数组学习之分辨数组元素

我们将要数组元素12改成11,则输出结果为:

JS二维数组学习之分辨数组元素

方式3:应用every()方式

every()方式可以检测数组元素是不是所有合乎特定标准。词法如下所示,主要参数选值状况可参考前文some() 方式

array.every(function callbackfn(Value,index,array),thisValue)

我们来看一下完成编码:

function f(value, index, ar) {
    if (value % 2 == 0) {
        return true;
    }else {
        return false;
    }
}
var a = [2,4,6,8,10,11];
var b = a.every(f);
if (b) {
console.log("全是双数");
} else {
console.log("不完整为双数");
}

输出结果为:

不完整为双数

every()和some() 方式的差别:

只有在二维数组中所有原素都符合条件时,every() 才回到 true;只需二维数组中有一个原素符合条件,some() 就回到 true。

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

以上就是关于JS二维数组学习之分辨数组元素是不是都达到给出要求的具体内容,大量欢迎关注AdminJS其他类似文章!