Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从嵌套数组中获取数组_Javascript_Arrays_Loops_Luhn - Fatal编程技术网

Javascript 从嵌套数组中获取数组

Javascript 从嵌套数组中获取数组,javascript,arrays,loops,luhn,Javascript,Arrays,Loops,Luhn,我正在编写一个信用卡检查器,luhn算法函数已经完成,但现在我试图将嵌套数组和所有无效卡添加到数组中,如第二个函数所示,但它似乎不起作用,我不知道出了什么问题我不确定validateCred函数是如何返回数据的,但当它逐个元素返回true或false时,findInvalidCards似乎按预期工作: 常量批=[真,假,假,真,真] //在下面添加您的功能: 函数验证ECredArrayItem{ 返回阵列项目 } 函数findValidCardsEndarray{ 设nestedArrayI

我正在编写一个信用卡检查器,luhn算法函数已经完成,但现在我试图将嵌套数组和所有无效卡添加到数组中,如第二个函数所示,但它似乎不起作用,我不知道出了什么问题

我不确定validateCred函数是如何返回数据的,但当它逐个元素返回true或false时,findInvalidCards似乎按预期工作:

常量批=[真,假,假,真,真] //在下面添加您的功能: 函数验证ECredArrayItem{ 返回阵列项目 } 函数findValidCardsEndarray{ 设nestedArrayInvalid=[]; fori=0;ilogfindinvalidcardsbatch我不太清楚您所说的嵌套数组的确切位置。你能详细说明一下吗?同时,掌握整个概念也会带来预期的结果。
const batch = [valid1, valid2, valid3, valid4, valid5, invalid1, invalid2, invalid3, invalid4, invalid5, mystery1, mystery2, mystery3, mystery4, mystery5]


// Add your functions below:


function validateCred(array) {
  let sumArray= [] 
  for (i=0; i < array.length ; i++){
    //console.log(i)
    if (array.length%2 !==0 ) {
    if(i%2 !==0) {
      if(array[i]*2 < 10){
        sumArray.push(array[i]*2)
      } else{
        sumArray.push(array[i]*2-9)
      }
    } else {
      sumArray.push(parseInt(array[i],10))
    } 
    } else { if(i%2 ===0) {
      if(array[i]*2 < 10){
        sumArray.push(array[i]*2)
      } else{
        sumArray.push(array[i]*2-9)
      }
    } else {
      sumArray.push(parseInt(array[i],10))
    }
    }
  }
  if(sumArray.reduce( (prv, cur) => prv + cur) % 10===0) {
return true
  }else{
    return false
  }
}

function findInvalidCards(nestedArray) {
  let nestedArrayInvalid= [] ;
  for(i=0; i < nestedArray.length; i++){
   if(validateCred(nestedArray[i]) === false){
      nestedArrayInvalid.push(nestedArray[i])
    } 
  } 
 return nestedArrayInvalid 
}

console.log(findInvalidCards(batch))