计算数组中某个值的元素

戴夫

我有两个数组,[a,b][c,d,e,f,g,h]. 数组中的可能值为 0、1、2 和 3。

根据满足特定条件的这些数组中的值设置变量:

  • n = 3:第一个数组中的所有内容=3,第二个数组中至少有2 个值 =3,任一数组中都没有值=0
  • n = 2:第一个数组中的所有内容>=2,第二个数组中至少有4 个值 >=2,两个数组中都没有值=0
  • n = 1:第一个数组中的所有内容>=1,第二个数组中至少有4 个值 >=1
  • n = 0:其他任何东西

有没有比让大量计数for循环都以略有不同的条件运行的更简洁的写法

萨比阿拉姆

您可以在没有很多 for 循环的情况下执行以下操作,

let a = [2,2,2,2];
let b = [2,2,2,2,3,1];

let countA = {0: 0, 1: 0, 2: 0, 3: 0};
let countB = {0: 0, 1: 0, 2: 0, 3: 0};

a.forEach(item => {
  countA[item]++;
}) 

b.forEach(item => {
  countB[item]++;
}) 

let n = 0;
if(countA[3] === a.length && countB[3] >= 2 && countB[0] === 0 && countA[0] === 0) {
  n = 3;
} else if(countA[3] + countA[2] === a.length && countB[2] + countB[3] >= 4 && countB[0] === 0 && countA[0] === 0) {
  n = 2;
} else if(countA[1] + countA[2] + countA[3] === a.length && countB[1] + countB[2] + countB[3] >= 4 && countB[0] === 0 && countA[0] === 0) {
  n = 1;
}

console.log(n);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章