Javascript 返回数组中最大和的索引

Javascript 返回数组中最大和的索引,javascript,arrays,Javascript,Arrays,说到JavaScript,我有点新手。我正在处理一个编码问题,我遇到了麻烦。以下是迄今为止我遇到问题的代码: function creditCardTest (creditCardNumbers) { var creditCardNumbers = [ '7629-1648-1623-7952', '4962-1694-

说到JavaScript,我有点新手。我正在处理一个编码问题,我遇到了麻烦。以下是迄今为止我遇到问题的代码:

function creditCardTest (creditCardNumbers) {
var creditCardNumbers = [
                                            '7629-1648-1623-7952', 
                                            '4962-1694-2293-7910', 
                                            '9999-9999-9999-9999', /*For test purposes*/
                                            '4921-2090-4961-7308'
                                            ]
var sumArray = [ ]; //parallel to creditCardNumbers array
var largestValue = 0;
var locationOfLargest = 0;
var itemSum = 0;

for(var i = 0; i < creditCardNumbers.length; i++) {

    var creditCardItem = creditCardNumbers [ i ];
    /*console.log(creditCardItem); For test purposes*/
    itemSum = 0; //required for functionality

    for (var j = 0; j < creditCardItem.length; j++) {

        var stringChar = creditCardItem.charAt( j );
        /*console.log(stringChar); For test purposes*/

            if ( stringChar >= '0' && stringChar <= '9' ) {
                itemSum += parseInt(stringChar);
                /*console.log(parseInt(stringChar)); For test purposes*/
            }

    }

    sumArray[ i ] = itemSum;
    console.log(sumArray[ i ]); /*required for functionality*/

}

if (!largestValue || sumArray[ i ] > largestValue) {
largestValue = sumArray[ i ];
locationOfLargest = i;
}

console.log(locationOfLargest);
功能creditCardTest(CreditCardNumber){
var CreditCardNumber=[
'7629-1648-1623-7952', 
'4962-1694-2293-7910', 
“9999-9999-9999-9999”、/*用于测试目的*/
'4921-2090-4961-7308'
]
var sumArray=[];//与creditCardNumbers数组并行
var最大值=0;
最大值的var位置=0;
var itemSum=0;
对于(var i=0;i='0'&&stringChar最大值){
最大值=sumArray[i];
最大值的位置=i;
}
控制台日志(最大的位置);
}

信用卡测试()

我希望返回数组中最大的索引,但结果只得到第0个索引。有什么输入吗?

这里有一点

var largestValue=0,
最大值的位置=0,
sumArray=[11109090891098923823];
对于(var i=0;ilargestValue){
最大值=sumArray[i];
最大值的位置=i;
}
}

log(最大、最大值的位置);
您可以使用逐步的方法

  • 首先获取一个数字数组
  • 加上数字
  • 获取最大和的索引
var数据=['7629-1648-1623-7952'、'4962-1694-2293-7910'、'9999-9999-9999'、'4921-2090-4961-7308'],
索引=数据。
映射(a=>a.match(/\d/g))。
映射(a=>a.reduce((a,b)=>+a++b))。
减少((r,a,i,aa)=>!i | aa[r]

.as控制台包装{最大高度:100%!重要;顶部:0;}
for在哪里?在标题中,您已经编写了最大和的索引,后来您又编写了您要查找最大索引的索引。那么,您到底要查找什么呢?很抱歉,刚刚编辑以显示我的完整代码。mm,因为我看到您需要对帐号进行求和?您的if测试必须在您的第一个循环的范围内。您检查我编制了索引,但它未定义。虽然你的代码块可以工作,但我已经定义了一个数组。我刚刚编辑了我的问题以显示完整的代码,可能有什么我遗漏了?只需将你的数组添加到你的问题中,就可以有1000多个项目?