Tengo una HTMLCollection de div que me gustaría ordenar por fecha y devuelve un error de que la ordenación en mi colección no es una función
const date = new Date(); const stages = document.getElementsByClassName("cadre-affiches"); for (let i = 1; i < stages.length; i++) { stages[i].dateStage = new Date(stages[i].getAttribute("date")); if (stages[i].dateStage < date) { stages[i].remove(); } }; let sorted = stages.sort((a,b) => b.dateStage - a.dateStage); console.log(sorted);document.getElementsByClassName devuelve HTMLCollection que es un Object . Puede convertirlo en una Array para acceder a la función de sort .
Reemplace esta línea de código.
let sorted = stages.sort((a,b) => b.dateStage - a.dateStage);a esto
let sorted = Array.from(stages).sort((a,b) => b.dateStage - a.dateStage);