@Evtera

Как передать nested массивы функции, содержащей loop?

Всем привет. Нижеприведенный код под последним спойлером (основной блок кода) прогоняет массив с цифрами и выводит определенное число. Суть вопроса заключается в том, что есть массив-родитель
spoiler
const batch = [ valid1,valid2,valid3, valid4, valid5,];
, у которого в качестве элементов выступают только другие массивы, которые в свою очередь уже содержат цифры.
spoiler
const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8];

Как мне через новую функцию отправить все элементы массива родителя в функцию validateCred? (основной блок в конце вопроса)

Пробовал нечто такое,
spoiler
const findInvalidCards = batchArray => {
for (let i = 0; i < batchArray.length; i++) {
validateCred(batchArray[i])
console.log( "number = " + batchArray[i]);
}
};

но при тесте код застревает на let numberReverse = number.reverse(); ( 3 строчка функции validateCred в основном блоке)

Основной блок кода, который выдает нужное число число
spoiler

const validateCred = number => {
  let numberReverse = number.reverse();
  let evenArray = []; // even numbers
  let oddArray = []; // odd numbers

<i>// sort index position by odd numbers</i> 
  for (let index = 0; index < numberReverse.length; index += 2) {
    oddArray.push(numberReverse[index]);
  }

<i>  // sort index position by even numbers</i>
  for (let indexEven = 1; indexEven < numberReverse.length; indexEven += 2) {
    evenArray.push(numberReverse[indexEven] * 2);
    <i>//take two-digit even numbers and subtract nine</i>
    for (let indexMinus = 0; indexMinus < evenArray.length; indexMinus++) {
      if (evenArray[indexMinus] >= 10) {
        evenArray[indexMinus] -= 9;
      }
    }
  }

 <i> //.concat even  and odd numbers</i>
  let totalArray = oddArray.concat(evenArray);

 <i> //.reduce totalArray after .concat</i>
  let final = totalArray.reduce(function(a, b) {
    return a + b;
  });

  return final;

};



  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы