JavaScript :: Aufgabe #4

2 Lösungen Lösungen öffentlich

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.

Lösungen:

vote_ok
von devnull (8870 Punkte) - 11.01.2015 um 18:03 Uhr
Quellcode ausblenden 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.";
}


Quellcode ausblenden 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>
vote_ok
von Exception (7090 Punkte) - 08.08.2018 um 08:10 Uhr
Quellcode ausblenden 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>
1801054

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.