Javascript 如何以最简单的方式从数组中获取单个偶数或奇数?

Javascript 如何以最简单的方式从数组中获取单个偶数或奇数?,javascript,arrays,Javascript,Arrays,从数组中获取单个偶数或奇数。例如: [20,10,11200,30]=>将返回11 [31,23,45,20,43]=>将返回20 我已尝试使用以下功能来实现此要求: 函数getEvenorodNumarr{ var checkVal,num,i,len=阵列长度; 如果len>2{ 对于i=0;ival%2==checkVal; num=num.length返回11 console.loggetevenorodnum[31,23,45,20,43]/=>返回20 console.logGet

从数组中获取单个偶数或奇数。例如:

[20,10,11200,30]=>将返回11

[31,23,45,20,43]=>将返回20

我已尝试使用以下功能来实现此要求:

函数getEvenorodNumarr{ var checkVal,num,i,len=阵列长度; 如果len>2{ 对于i=0;i<3;i++{ var mod=arr[i]%2; 如果checkVal==mod{break;} checkVal=mod; } checkVal=checkVal==0?1:0; num=arr.filterval=>val%2==checkVal; num=num.length<2?num[0]:空; } 返回num | | null; } console.loggetevenorodnum[20,10,11200,30]/=>返回11 console.loggetevenorodnum[31,23,45,20,43]/=>返回20 console.logGetEvenorodNum[20,10]/=>返回null console.logGetEvenorodNum[20,10,11,23200,30]/=>返回null loggetevenorodnum[31,23,45,20,43,50]/=>返回null您可以使用

这将为每个数组元素调用提供的函数,并将返回“匹配条件”的第一个元素。提供的函数为:

常量evenArray=[2,4,6,8,9] 常数oddArray=[1,2,3,5,7,9] console.logevenArray.findelement=>元素%2===1//9 console.logodArray.findelement=>element%2==0//2
您可以计算这些类型并存储每个类型的最后一个值,检查两个值是否具有相同的类型,然后为想要的类型设置一个标志

然后返回带有标志的类型,并检查之前的计数

l表示左边的元素,r表示右边的元素,也是实际的项目。这两种元素都需要用于比较两种类型的偶数/奇数

例如:

         vv            actual item
[20, 10, 11, 200, 30]  array
      l   r            variables
函数getSinglearray{ 变量计数=[0,0], 值=[], 旗帜 array.forEachr,i,{length,[length+i-1%length]:l}=>{ 如果l%2==r%2标志=1-r%2; 数值[r%2]=r; 计数[r%2]++; }; 返回计数[标志]==1 ?值[标志] :null; } console.loggetSingle[20,10,11200,30];//11 console.loggetSingle[31,23,45,20,43];//20 console.loggetSingle[20,10];//无效的 console.loggetSingle[20,10,11,23200,30];//无效的 console.loggetSingle[31,23,45,20,43,50];//无效的
.作为控制台包装器{max height:100%!important;top:0;}这确实有效,所以听到这三张反对票是为了什么以及为什么会这样会很有趣?dv不是我,但我认为,op查找的是单个项,该项为偶数或奇数,其余项通过使用单个函数而相反。如果数组包含多个奇数或偶数,例如:[1,2,3,4,5],会发生什么情况?