我正在尝试对数组中的数字进行求和,特别是信用卡号,然后比较总和。我正在使用一个包含多个for循环的函数来将数字分解为可行的形式,然后将它们相加。我已经达到了这一点,我总结了可行的数字,但我很难得到一笔工作金额。 这是我到目前为止所做的。 附:我不想使用map或reduce,因为我只是试图使用我目前所知道的并理解这样做。感谢。
var cardNumbers= ['4916-2600-1804-0530', '4779-252888-3972', '4252-278893-7978', '4556-4242-9283-2260'] ;
function creditSum(cardNumbers){
var split=[];
var join=[];
var integer=[];
var sum=0;
var string=[];
//regular expression splitting each number at non-alphanumeric characters
for (var i=0; i<cardNumbers.length; i++){
split[i] =cardNumbers[i].split(/\W+/g);
}
//joins split strings
for (var j=0; j<split.length; j++){
join[j]=split[j].join('');
}
//turns each string into number
for (var k=0; k<join.length; k++){
integer[k]= +join[k];
//sums each digit of each number
for (var m=0; m<integer[k].length; m++){
sum[k][m]+= integer[k][m];
}
}
return sum;
}
console.log(creditSum(cardNumbers));