logo hsb.horse
← Zur Blog-Übersicht

Blog

TypeScript-Implementierung zum Sortieren von Mediendateien nach Auflösung

Eine kompakte TypeScript-Implementierung, um Videos oder Bilder nach Auflösung (Breite × Höhe) zu sortieren. Praktisch für Twitter-Medienvarianten.

Veröffentlicht:

Diesen Code habe ich geschrieben, um etwa Twitter-Videomedien nach Auflösung zu sortieren.

Nach Auflösung (Breite × Höhe) absteigend sortieren

interface MediaFile {
url: string;
height: number;
width: number
}
function sortMediaByQuality(files: Array<MediaFile>): Array<MediaFile> {
return files.toSorted((a, b) => {
const resolutionA = a.width * a.height;
const resolutionB = b.width * b.height;
return resolutionB - resolutionA
});
}

Wichtige Punkte

  • toSorted: gibt ein neues Array zurück, ohne das Original zu verändern
  • Auflösungsberechnung: Die Auflösung wird mit width × height berechnet
  • Absteigende Sortierung: größere Auflösungen werden zuerst einsortiert

Beispiel

const videos: MediaFile[] = [
{ url: "video1.mp4", width: 1280, height: 720 }, // 921,600
{ url: "video2.mp4", width: 1920, height: 1080 }, // 2,073,600
{ url: "video3.mp4", width: 640, height: 480 }, // 307,200
];
const sorted = sortMediaByQuality(videos);
// video2.mp4 (1920x1080) steht zuerst

Zusammenfassung

Durch die Kombination aus Auflösungsberechnung und Sortierung lassen sich Mediendateien mit höherer Qualität bevorzugen.

Das ist nützlich, wenn aus mehreren Video- oder Bildvarianten die beste ausgewählt werden soll, etwa bei Twitter-Medien.