['galaxies', 'travel', 'exploration', 'success', 'veganism']
Vull afegir una funció al meu lloc web de viatges que permeti als usuaris ordenar els resultats de la cerca per preu (ascendent i descendent). Estic utilitzant JavaScript i tinc aquesta funció, però no funciona correctament:

```javascript
function ordenarPerPreu(ordre) {
  const resultats = document.getElementById("resultats");
  const elements = Array.from(resultats.children);

  elements.sort((a, b) => {
    const preuA = a.querySelector(".preu").textContent;
    const preuB = b.querySelector(".preu").textContent;

    if (ordre === "ascendent") {
      return preuA - preuB;
    } else {
      return preuB - preuA;
    }
  });

  elements.forEach(element => resultats.appendChild(element));
}
```

Què està malament al codi?
El problema és que estàs intentant ordenar números que estan emmagatzemats com a text. Això pot portar a resultats incorrectes, ja que la ordenació alfabètica no és la mateixa que la numèrica. Per solucionar-ho, has de convertir els valors dels preus a números abans de fer la comparació:

```javascript
function ordenarPerPreu(ordre) {
  const resultats = document.getElementById("resultats");
  const elements = Array.from(resultats.children);

  elements.sort((a, b) => {
    const preuA = parseFloat(a.querySelector(".preu").textContent); // Converteix a número
    const preuB = parseFloat(b.querySelector(".preu").textContent); // Converteix a número

    if (ordre === "ascendent") {
      return preuA - preuB;
    } else {
      return preuB - preuA;
    }
  });

  elements.forEach(element => resultats.appendChild(element));
}
```

Amb aquesta modificació, la funció ara ordenarà els resultats correctament per preu, tant en ordre ascendent com descendent.