[SOLUCIONADO] Necesito ayuda para ordenar unos valores al mostrarse

Iniciado por DancingMonki, Noviembre 02, 2020, 10:07:10 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Noviembre 02, 2020, 10:07:10 PM Ultima modificación: Noviembre 05, 2020, 01:09:15 AM por AXCESS
Tengo una tabla en la que se muestran 5 pilotos, con varios valores

Código: text

@You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Tienes que usar un algoritmo de ordenamiento. Como recomendación 'quicksort', pero en este caso te muestro el algoritmo burbuja que aunque es menos eficiente, es más sencillo de implementar, y puede servir más o menos para darte una idea.

Código: javascript
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>Document</title>
</head>
<body>
    <div class="principal">
        <script>
            var pilotos = new Array();
var temp;
var config_order = 0; // `1` de menor a mayor; `0` de mayor a menor.

function compare_size(x, y) {
if (config_order) {
if (x > y) {
return true;

}

} else {
if (x < y) {
return true;

}

}

return false;

}

            pilotos = [
                [
                    "Lando Norris", 4, 60
                ],
                [
                    "Sebastian Vettel", 5, 10
                ],
                [
                    "Carlos Sainz", 55, 50
                ],
                [
                    "Lewis Hamilton", 44, 15
                ],
                [
                    "Kimi Rikkonen", 7, 37
                ],
            ];

let i = pilotos.length;
while (--i > 0) {
for (let j = 0; j < pilotos.length-1; j++) {
if (compare_size(pilotos[j][2], pilotos[j+1][2])) {
temp = pilotos[j];
pilotos[j] = pilotos[j+1];
pilotos[j+1] = temp;

}

}

}

            document.write('<div class="contenedor">');

            for (i = 0; i < pilotos.length; i++) {

                document.write('<div class="caja">');
                document.write('<div class="detallito">', '<div class="name"><div class="namecolor"><h3>' + pilotos[i][0] + '</h3></div><h4>');
                document.write('<div class="numbcolor">', 'Número:  ' + pilotos[i][1] + '</div></h4></div>');
                document.write('<div class="marks"><div class="time"><h3>', 'Tiempo:  ' + pilotos[i][2] + ' minutos', '</h3></div></div></div>');
                document.write('</div>');
            }
        </script>
    </div>
</body>
</html>


~ DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF

Hola, que tal esto? You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos.
- You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login - You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login