2016-05-28 8 views
2

Ich habe ein Array, das zwei Vorkommen der größten Anzahl hat. Ich möchte das 2. Vorkommen der größten Zahl, in der findSum -Array, so Index [3], und dann den Index [3] eines anderen Array, Zahlen.Javascript: Finden Sie 2. Vorkommen (letzte) der größten Anzahl und den gleichen Index in anderen Array

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']; 

Im Moment bin ich Math.max mit dem größten zu finden, und ich glaube, ich bin nur das erste Vorkommen der Rückkehr Index [2] von 81 Randbemerkung: Wie überprüfen Sie die 81 zurückkehrt ? Danke im Voraus!

+0

'4556-4242-9283-2260' ist kein' Number' – Rayon

+0

Ja, ich habe es in eine Zahl umgewandelt und es reduziert. Das Array findSum ist das Ergebnis der @ Rayon – TYPOI

+0

in Arrays Index 0 ist Position 1 – Redu

Antwort

0

könnten Sie verwenden Array.lastIndexOf für das, was index[2] zurückkehren würde als Arrays Null-basiert sind.

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)]) 
+0

Das hat den Trick gemacht! Vielen Dank :) – TYPOI

0

Diese Funktion findet die größte Zahl im Array und den letzten Index der größten Zahl im Array.

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])); 
+0

Ich steckte Ihren Code ein. Ich bekomme: Objekt {maxNum: 81, maxNumIndex: 2} – TYPOI

+0

Ja, es gibt die größte Zahl sowie den Index, bei dem es gespeichert wurde. Siehe https://repl.it/CWLz – Daryl

+0

Aah, hab es geschafft! Danke :) – TYPOI

0

können Sie lastIndexOf Funktion des Array.

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']; 
0

Eine Verknüpfung.

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

Verwandte Themen