在上一篇文章《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并不是双数,因而输出结果为:
方式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("全是双数");
}
能够得知:由于二维数组中元素全是双数,因而输出结果为:
我们将要数组元素12改成11,则输出结果为:
方式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其他类似文章!