logo hsb.horse
← Retour au blog

Blog

Implémentation TypeScript pour trier des fichiers média par résolution

Une implémentation TypeScript concise pour trier vidéos ou images par résolution (largeur × hauteur). Utile pour ordonner des médias Twitter.

Publié:

Voici le code que j’ai écrit pour trier des médias, par exemple des vidéos Twitter, selon leur résolution.

Trier par résolution (largeur × hauteur) en ordre décroissant

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
});
}

Points clés

  • toSorted : renvoie un nouveau tableau sans modifier l’original
  • Calcul de résolution : on calcule la résolution avec width × height
  • Tri décroissant : les résolutions les plus élevées passent en premier

Exemple d’utilisation

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) arrive en premier

Résumé

En combinant calcul de résolution et tri, on peut privilégier facilement les médias de meilleure qualité.

C’est utile pour choisir le meilleur candidat parmi plusieurs variantes vidéo ou image, par exemple pour des médias Twitter.