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:
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> <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>
<!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>