Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:查找最大数量的第二次出现(最后一次)&;返回不同数组中的相同索引_Javascript_Arrays - Fatal编程技术网

Javascript:查找最大数量的第二次出现(最后一次)&;返回不同数组中的相同索引

Javascript:查找最大数量的第二次出现(最后一次)&;返回不同数组中的相同索引,javascript,arrays,Javascript,Arrays,我有一个数组,它有两个最大数量的匹配项。我想得到findSum数组中第二个出现的最大数字,因此索引[3],然后返回另一个数组的索引[3],数字 findSum = [49, 81, 81, 64]; Function findLargest(arr) { var largest = Math.max.apply(Math, arr); return largest; }; console.log(findLargest(findSum)); var numbers = ['4916-2

我有一个数组,它有两个最大数量的匹配项。我想得到findSum数组中第二个出现的最大数字,因此索引[3],然后返回另一个数组的索引[3],数字

findSum = [49, 81, 81, 64];

Function findLargest(arr) { 
var largest = Math.max.apply(Math, arr);
return largest;  
};
console.log(findLargest(findSum));

var numbers = ['4916-2600-1804-0530', '4779-252888-3972', 
'4252-278893-7978', '4556-4242-9283-2260'];

现在我正在使用Math.max查找最大值,我想我只是返回了第一个匹配项,索引[2]为81。旁注:您如何检查哪一个81正在返回?提前谢谢

此函数将查找数组中最大的数字以及数组中最大数字的最后一个索引

function findLastIndexOfLargestNumber(array){
    var maxNum = Number.MIN_VALUE;
    var maxNumIndex = 0;
    for(var i = 0; i < array.length; i++){
        var currentNumber = array[i];
        if(currentNumber >= maxNum){
            maxNum = currentNumber;
            maxNumIndex = i;
        }
    }
    return { maxNum : maxNum, maxNumIndex : maxNumIndex };
}

console.log(findLastIndexOfLargestNumber([49, 81, 81, 64]));
函数findLastIndexOfLargestNumber(数组){
var maxNum=Number.MIN_值;
var maxNumIndex=0;
对于(var i=0;i=maxNum){
maxNum=当前编号;
maxNumIndex=i;
}
}
返回{maxmnum:maxmnum,maxmumindex:maxmumindex};
}
log(findlastindexoflargenumber([49,81,81,64]);
您可以使用它,它将返回
索引[2]
,因为数组是基于零的

var findSum = [49, 81, 81, 64];

function findLastLargest(arr) {
    var largest = Math.max.apply(Math, arr);
    return arr.lastIndexOf(largest);
}

var numbers = ['4916-2600-1804-0530', '4779-252888-3972',
    '4252-278893-7978', '4556-4242-9283-2260'
]

console.log(numbers[findLastLargest(findSum)])
您可以使用数组的
功能

findSum = [49, 81, 81, 64];

Function findLargest(arr) { 
var largest = Math.max.apply(Math, arr);
return largest;  
};
console.log(findSum.lastIndexOf(findLargest(findSum)));

var numbers = ['4916-2600-1804-0530', '4779-252888-3972', 
'4252-278893-7978', '4556-4242-9283-2260'];
一条捷径

var findSum=[49,81,81,64],
数字=['4916-2600-1804-0530'、'4779-252888-3972',
'4252-278893-7978', '4556-4242-9283-2260'],
number=numbers[findSum.lastIndexOf(Math.max(…findSum))];

控制台日志(编号)
4556-4242-9283-2260
不是一个
数字
是的,我将它转换为一个数字并减少了它。findSum数组是@Rayonin数组索引0插入代码的位置1I的结果。我得到:Object{maxNum:81,maxnumdex:2}是的,它返回最大的数字以及它存储的索引。看啊,明白了!谢谢:)