5-20 WPS JS宏 every与some数组的[与或]迭代(数组的逻辑判断)
every与some数组的[与或]迭代,你也可以理解为精准查找和模糊查找,这样更容易记忆。
every:为数组的所有元素条件成立,返回true与false。
some:为数组中的元素至少1个成立,返回true与false。
测试讲解:
function test1(){
var arr=[1,18,9,44,21];
var a1=arr.every((v,i,a)=>v>=2);//或判断,返回false。
var a2=arr.some((v,i,a)=>v>=2);//与判断,返回true。
var a4=arr.filter(x=>x>=20).length>=2;//其它判断(两个条及以上条件成立),返回true。
var x=arr.every(v=>v>=30)?"✔":"✗"//注意判断语句的输出写法,返回"✗"。
var y=arr.some(v=>v>=21)?"✔":"✗"//注意判断语句的输出写法,返回"✔"。
}
function test1(){
var arr=[1,18,9,44,21];
var a1=arr.every((v,i,a)=>v>=2);//或判断,返回false。
var a2=arr.some((v,i,a)=>v>=2);//与判断,返回true。
var a4=arr.filter(x=>x>=20).length>=2;//其它判断(两个条及以上条件成立),返回true。
var x=arr.every(v=>v>=30)?"✔":"✗"//注意判断语句的输出写法,返回"✗"。
var y=arr.some(v=>v>=21)?"✔":"✗"//注意判断语句的输出写法,返回"✔"。
}
示例:判断产品是否合格
注意var x=arr.every(v=>v>="合格")?"✔":"✗"判断语句的输出写法
注意var y=arr.some(v=>v>="合格")?"✔":"✗"判断语句的输出写法
注意var z=arr.filter(v=>v=="合格").length写法,也可以是var a4=arr.filter(x=>x>=20).length>=2;//其它判断(两个条及以上条件成立),返回true与false。
测试讲解:
function test2(){
for (var rng of Range("b2:b4")){
var arr=rng.Resize(1,4).Value()[0];
var x=arr.every(v=>v>="合格")?"✔":"✗"//注意判断语句的输出写法
var y=arr.some(v=>v>="合格")?"✔":"✗"//注意判断语句的输出写法
var z=arr.filter(v=>v=="合格").length//注意写法
rng.Offset(0,4).Value2=x;
rng.Offset(0,5).Value2=y;
rng.Offset(0,6).Value2=z;
}}
//注意var x=arr.every(v=>v>="合格")?"✔":"✗"判断语句的输出写法
//注意var y=arr.some(v=>v>="合格")?"✔":"✗"判断语句的输出写法
//注意var z=arr.filter(v=>v=="合格").length写法,也可以是var a4=arr.filter(x=>x>=20).length>=2;//其它判断(两个条及以上条件成立),返回true与false。
function test2(){for (var rng of Range("b2:b4")){var arr=rng.Resize(1,4).Value()[0];var x=arr.every(v=>v>="合格")?"✔":"✗"//注意判断语句的输出写法var y=arr.some(v=>v>="合格")?"✔":"✗"//注意判断语句的输出写法var z=arr.filter(v=>v=="合格").length//注意写法rng.Offset(0,4).Value2=x;rng.Offset(0,5).Value2=y;rng.Offset(0,6).Value2=z;}}