JavaScript :: Aufgabe #4
2 Lösungen
Funktion welche ein int-Array auf aufsteigend kontrolliert
Anfänger - JavaScript
von Gustl
- 10.01.2015 um 19:17 Uhr
Schreiben Sie eine JavaScript-Funktion, die als Parameter eine beliebig lange Liste von Zahlen in Form eines
Arrays erhält und true zurückgibt, wenn das Array aufsteigend sortiert ist – andernfalls
false. Es ist Ihnen nicht gestattet, auf jegliche sort-Funktionen der Standardbibliothek zurückzugreifen.
Schreiben Sie weiter ein HTML-Dokument, mit dem Sie Ihre Funktion auf Richtigkeit prüfen können.
Arrays erhält und true zurückgibt, wenn das Array aufsteigend sortiert ist – andernfalls
false. Es ist Ihnen nicht gestattet, auf jegliche sort-Funktionen der Standardbibliothek zurückzugreifen.
Schreiben Sie weiter ein HTML-Dokument, mit dem Sie Ihre Funktion auf Richtigkeit prüfen können.
Lösungen:
JavaScript-Code
function isSortedArray(arr) { for (var i=1; i<arr.length; i++) if (arr[i-1] > arr[i]) return false; return true; } function parseArray(StringArray) { var NumArray = new Array(StringArray.length); for (var i=0; i<StringArray.length; i++) NumArray[i] = parseInt(StringArray[i]); return NumArray; } function CheckSort(eingabe) { var liste = eingabe.split(/\s*[,;\s]\s*/); if (isSortedArray(parseArray(liste))) document.ArrayTest.Ergebnis.value = "Die Liste ist aufsteigend sortiert."; else document.ArrayTest.Ergebnis.value = "Die Liste ist nicht aufsteigend sortiert."; }
HTML-Code
<html> <head> <title>ArrayTest</title> <script src="sortier.js" type="text/javascript"></script> </head> <body> <form name="ArrayTest" action=""> <p>Geben Sie im Eingabefeld eine Reihe von Zahlen ein und prüfen Sie dann die Sortierung (Button).</p> <p><input type="text" name="Eingabe" size="80" maxlength="200"></p> <p><input type="button" value="Check Sortierung" onclick="CheckSort(document.ArrayTest.Eingabe.value)"></p> <p><input type="text" name="Ergebnis" size="30" maxlength="40" readonly="readonly"></p> </form> </body> </html>
JavaScript-Code
<!DOCTYPE html> <html> <head> <title>#4 Javascript - Funktion welche ein int-Array auf aufsteigend kontrolliert</title> <script type="text/javascript"> var lists = [ [ 0, 1, 2, 3, 4, 5 ], // true [ 3, 2, 1 ], // false [ 1, 3, 3, 7], // true [ 0, 2, 1, 9 ], // false [ 42, 41, 40, 39, 38, 37 ], // false [ 5, 5, 5 ] // true ]; for (var i = 0; i < lists.length; i++) { console.log("Liste " + i + " aufsteigende Sortierung: " + IsListAsc(lists[i]) ); } function IsListAsc (list) { var last = list[0]; for (var i = 1; i < list.length; i++) { if(last > list[i]) { return false; } else { last = list[i]; } } return true; } </script> </head> <body> </body> </html>