Popup mit Overpass befüllt, wie stelle ich die Inhalte anders dar?

Folgende Idee, die beides kombiniert:

Du führst eine Sortier- und Umbenennungsliste.
Zuerst werden alle Tags dieser Liste ausgegeben (und gegebenenfalls umbenannt).
Alle Tags, die umbenannt werden, sind in dieser Liste enthalten.
Anschließend werden die Tags ausgegeben, die in dieser Liste nicht enthalten sind.

Die for-Schleife, die den Inhalt des Popups erzeugt, wäre wie folgt zu ändern.

	for (i=0; i < data.elements.length; i++) {
		var e = data.elements[i];
		// Sortier- und Ersetzungsliste
        // Wird ein Tag nicht ersetzt, aber sortiert, dann sind beide Einträge gleich :-)
		var myreplacements = {
			"name" : "Name",
			"addr:city" : "City",
			"addr:street" : "Straße"
		};

		var pos = new L.LatLng(e.lat, e.lon);
		
		var popupContent = "<p>ID=" + e.id + "</p>";
		popupContent += "<dl>";

		// Füge die vorhandenen Einträge gemäß definierter Ordnung ein
		Object.entries(myreplacements).forEach(([mykey, replacement]) => {
			// Ausgabe nur, wenn der Tag auch vorhanden ist.
			// Dann mit der Ersetzung
			if (mykey in e.tags) {
				popupContent += "<dt>" + replacement + ":</dt><dd>" + e.tags[mykey] + "</dd>";			
			}
		});

		// Füge die restlichen Schlüssel in der vorhandenen Reihenfolge ein
		// Achte darauf, die Einträge auszulassen, die bereits gemäß
		// Sortierreihenfolge ausgegeben wurden.
		Object.entries(e.tags).forEach(([key, value]) => {
			// Diesmal müssen wir in myreplacements nachschauen
			// Ausgabe nur, wenn dort nicht vorhanden, da bereits oben ausgegeben.
			if (!(key in myreplacements)) {
				popupContent += "<dt>" + key + ":</dt><dd>" + value + "</dd>";
			}
		});
		popupContent += "</dl>";
		var popup = L.popup()
			.setContent(popupContent);
		L.marker(pos, {icon: pizzaIcon}).bindPopup(popup).addTo(map);
	}

Demoseite ist entsprechend aktualisiert.