Beispiel:JS-string-localeCompare.html

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche
<!DOCTYPE html>
<html lang="de">
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0;" />
	<link rel="stylesheet" media="screen" href="./Beispiel:SELFHTML-Beispiel-Grundlayout.css" />
	<title>Beispiel: String.localeCompare</title>
	<script>
document.addEventListener("DOMContentLoaded", () => {
	const
		button = document.getElementById("sort-button"),
		normal = document.getElementById("normal"),
		localeCompared = document.getElementById("localeCompared"),
		words = document.querySelectorAll("#words li");

	if (button && words.length) {

		button.addEventListener("click", event => {
			const data = [];

			words.forEach(li => data.push(li.textContent));

			if (normal) {
				data.sort();
				normal.textContent = data.join(", ");
			}

			if (localeCompared) {
				data.sort((a, b) => a.localeCompare(b, "de-DE"));
				localeCompared.textContent = data.join(", ");
			}
		});
	}
});
	</script>
</head>
<body>
	<h1>Beispiel: string.localeCompare</h1>
	<main>
		<p>Durch einen Klick auf den Button sortieren Sie die Wörter alphabetisch.</p>
		<ul id="words">
			<li>Atom</li>
			<li>Oval</li>
			<li>Groß</li>
			<li>Änderung</li>
			<li>Örtlichkeit</li>
			<li>Grotte</li>
			<li>Afghanistan</li>
			<li>Ortler</li>
		</ul>
		<button id="sort-button">jetzt sortieren</button>
		<dl>
			<dt>Normale Sortierung (gemäß englischem Alphabet)</dt>
			<dd id="normal">&nbsp;</dd>
			<dt>Sortierung nach Regeln der im Browser eingestellten Rechtschreibung</dt>
			<dt>(für de-DE werden Sonderzeichen beim Vergleich neutralisiert: ÄäÖöÜüß → AaOoUus)</dt>
			<dd id="localeCompared">&nbsp;</dd>
		</dl>
	</main>
</body>
</html>