2017-02-28 3 views
-6

Ich versuche, den minimalen Wert aus einem Array zu erhalten, ohne die Art, wie der Wert ausgerichtet sind.Holen Sie den Mindestwert aus dem Array

function removeSmallest(numbers){ 
var min=Math.min.apply(null,numbers); 
var indexvalue=numbers.indexOf(min); 
delete numbers[indexvalue]; 
return numbers; 
} 
+4

Willkommen bei Stack Overflow! Bitte nimm die [Tour], schau dich um und lies die [Hilfe], insbesondere [* Wie stelle ich eine gute Frage? *] (/ Help/how-to-ask) –

+0

* Fragen, die Debugging-Hilfe suchen ("Warum funktioniert dieser Code nicht?") muss das gewünschte Verhalten, ein spezifisches Problem oder einen Fehler und den kürzesten Code enthalten, der notwendig ist, um es in der Frage selbst zu reproduzieren. Fragen ohne klare Problemstellung sind für andere Leser nicht nützlich. * – BSMP

Antwort

1

Zwei Fragen:

  1. Math.min.apply(null, numbers) sollte

  2. Normalerweise delete ist nicht das richtige Werkzeug für Arrays (siehe this question's answers for detailsMath.min.apply(Math, numbers) (statt null beachten Math) sein, die Nutzung splice zu Entfernen Sie Array-Einträge, wenn Sie das Array an Ort und Stelle ändern:

    numbers.splice(indexvalue, 1); 
    

Sie auch interessieren könnten Erstellen und Zurückgeben eines neue Array statt mutiert und Rückführen des gleichen Array Sie erhalten haben.

Verwandte Themen