在javascript中从二维数组集合中提取偶数数组

在javascript中从二维数组集合中提取偶数数组,javascript,arrays,function,Javascript,Arrays,Function,/对于下面的二维数组,我试图编写一个函数,找到由偶数组成的数组,然后将其提取出来/ //我可以检查它的元素是否如此: if(loggedPasscodes[0][1]%2===0) { console.log(loggedPasscodes[0]) } else { console.log('nope') } //我可以循环函数,至少给我数组的外层,如下所示: function getValidPassword(x){ for(i=0;i<x.length;i++){

/对于下面的二维数组,我试图编写一个函数,找到由偶数组成的数组,然后将其提取出来/

//我可以检查它的元素是否如此:

if(loggedPasscodes[0][1]%2===0) {
  console.log(loggedPasscodes[0])
} else {
  console.log('nope')
}
//我可以循环函数,至少给我数组的外层,如下所示:

function getValidPassword(x){
  for(i=0;i<x.length;i++){
    console.log(x[i])
  }
};

console.log(getValidPassword(loggedPasscodes))
函数getValidPassword(x){
对于(i=0;i,您可以通过检查每个嵌套数组以及所有值是否为偶数来查找数组

var loggedPasscodes=[[1,4,4,1],[1,2,3,1],[2,6,0,8],[5,5,5],[4,3,4,3],
allEven=loggedPasscodes.find(a=>a.every(v=>v%2==0));

console.log(allEven);
您可以通过检查每个嵌套数组以及所有值是否为偶数来找到该数组

var loggedPasscodes=[[1,4,4,1],[1,2,3,1],[2,6,0,8],[5,5,5],[4,3,4,3],
allEven=loggedPasscodes.find(a=>a.every(v=>v%2==0));

console.log(allEven);
我一直在修补这个问题,找到了一个在阵列上运行2个周期并每4个连续匹配项显示一次的替代答案。尼娜的答案更好、更优雅,但我发现这个答案很有趣,我将把它作为替代答案留在这里

  let loggedPasscodes = [
  [4, 3, 4, 4],
  [1, 2, 3, 7],
  [4, 6, 0, 8],
  [2, 2, 2, 2],
  [4, 4, 4, 4],
  [2, 2, 2, 2],
  [1, 3, 4, 5],
  [2, 2, 2, 2]
  ];




  function getValidPassword(x){

  var password =[];

  //main array cycle:
  for(ciclop=0;ciclop<x.length;ciclop++){
  //secondary array cycle:
    for (ciclos=0;ciclos<=4;ciclos++){

  //if it gets 4 matches in a row:
     if (password.length===4){
      console.log(password);
      password=[]; 
    }

  // if it is even:
  else if (x[ciclop][ciclos]%2===0) {
   password.push(x[ciclop][ciclos]); 
  }


 //if it is odd:
 else if(x[ciclop][ciclos]%2!==0){
  password=[];
     } 
    }
   }
  }
  getValidPassword(loggedPasscodes);
让loggedPasscodes=[
[4, 3, 4, 4],
[1, 2, 3, 7],
[4, 6, 0, 8],
[2, 2, 2, 2],
[4, 4, 4, 4],
[2, 2, 2, 2],
[1, 3, 4, 5],
[2, 2, 2, 2]
];
函数getValidPassword(x){
var密码=[];
//主阵列周期:

对于(ciclop=0;ciclop我一直在修补这个问题,并找到了一个在数组上运行2个周期并每4个连续匹配项显示一次的替代答案。尼娜的答案更好、更优雅,但我发现这个答案很有趣,我将把它作为替代答案留在这里

  let loggedPasscodes = [
  [4, 3, 4, 4],
  [1, 2, 3, 7],
  [4, 6, 0, 8],
  [2, 2, 2, 2],
  [4, 4, 4, 4],
  [2, 2, 2, 2],
  [1, 3, 4, 5],
  [2, 2, 2, 2]
  ];




  function getValidPassword(x){

  var password =[];

  //main array cycle:
  for(ciclop=0;ciclop<x.length;ciclop++){
  //secondary array cycle:
    for (ciclos=0;ciclos<=4;ciclos++){

  //if it gets 4 matches in a row:
     if (password.length===4){
      console.log(password);
      password=[]; 
    }

  // if it is even:
  else if (x[ciclop][ciclos]%2===0) {
   password.push(x[ciclop][ciclos]); 
  }


 //if it is odd:
 else if(x[ciclop][ciclos]%2!==0){
  password=[];
     } 
    }
   }
  }
  getValidPassword(loggedPasscodes);
让loggedPasscodes=[
[4, 3, 4, 4],
[1, 2, 3, 7],
[4, 6, 0, 8],
[2, 2, 2, 2],
[4, 4, 4, 4],
[2, 2, 2, 2],
[1, 3, 4, 5],
[2, 2, 2, 2]
];
函数getValidPassword(x){
var密码=[];
//主阵列周期:

对于(ciclop=0;ciclop)它是否可以有多个匹配的数组?是的,如果它是由偶数组成的,则此数组中不会出现这种情况。它是否可以有多个匹配的数组?是的,如果它是由偶数组成的,则此数组中不会出现这种情况。