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