首页 > 解决方案 > 如何将循环中的信息存储到数组中并合并它们?

问题描述

我正在尝试编写一个基于 Luhm 算法验证卡号的函数。我设法达到了获得双倍数字和其余数字的阶段,并且我想将它们存储到数组中,以便我可以对这些进行求和。我拥有的代码将每个数字存储在数组中,但是当我尝试对.concat数组进行操作时console.log,我得到一个空数组。而且我相信这些数字应该存储在内存中。我想.reduce在组合数组上运行 a 以便得到总和。这是我正在尝试做的可视化:Codecademy SVG

const validateCard = (card) => {
  let nDigits = card.length;
  let firstArray = [];
  let secondArray = [];
  const numbers = firstArray.concat(secondArray);
  for (let i = nDigits - 1, x = nDigits - 2; i >= 0; i -= 2, x -= 2) {
    let doubledNumber = card[x] * 2;
    if (doubledNumber> 9) {
      doubledNumber-= 9;
    }
    firstArray.push(card[i]);
    secondArray.push(doubledNumber);
  }
};

标签: javascriptarraysloopsconcat

解决方案


推荐阅读