Estadísticas del código: Crear un array de 10x10 con números aleatorios y ordenarlo verticalmente y horizontalmente - JavaScript

Imágen de perfil
Val: 2.288
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Crear un array de 10x10 con números aleatorios y ordenarlo verticalmente y horizontalmente


JavaScript

Publicado el 25 de Marzo del 2021 por Katas (200 códigos)
5.206 visualizaciones desde el 25 de Marzo del 2021
Mediante el generador de números aleatorios llenar una tabla de dos dimensiones (10,10) con números enteros comprendidos entre el 0 y el 99. La tabla deberá visualizarse en pantalla así como los números que se van generando, colocándoles en cada casilla de la tabla.
Ordenar la matriz anterior por filas y columnas, de menor a mayor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Array original
 
[18, 80, 92, 90, 72, 29, 56, 20, 55, 22]
[91, 33, 73, 95, 22, 19, 67, 83, 98, 95]
[71, 60, 60, 24, 0, 56, 51, 93, 74, 88]
[61, 93, 83, 87, 30, 69, 41, 21, 66, 46]
[19, 16, 94, 57, 13, 97, 80, 51, 14, 52]
[41, 74, 94, 67, 40, 0, 47, 68, 39, 58]
[97, 37, 4, 38, 34, 31, 24, 68, 4, 54]
[37, 86, 42, 49, 0, 37, 40, 62, 85, 47]
[70, 68, 82, 47, 28, 55, 36, 30, 33, 80]
[29, 43, 32, 13, 89, 94, 59, 16, 41, 81]
 
Array ordenado horizontalmente
 
[18, 20, 22, 29, 55, 56, 72, 80, 90, 92]
[19, 22, 33, 67, 73, 83, 91, 95, 95, 98]
[0, 24, 51, 56, 60, 60, 71, 74, 88, 93]
[21, 30, 41, 46, 61, 66, 69, 83, 87, 93]
[13, 14, 16, 19, 51, 52, 57, 80, 94, 97]
[0, 39, 40, 41, 47, 58, 67, 68, 74, 94]
[4, 4, 24, 31, 34, 37, 38, 54, 68, 97]
[0, 37, 37, 40, 42, 47, 49, 62, 85, 86]
[28, 30, 33, 36, 47, 55, 68, 70, 80, 82]
[13, 16, 29, 32, 41, 43, 59, 81, 89, 94]
 
Array ordenado verticalmente
 
[0, 4, 16, 19, 34, 37, 38, 54, 68, 82]
[0, 14, 22, 29, 41, 43, 49, 62, 74, 86]
[0, 16, 24, 31, 42, 47, 57, 68, 80, 92]
[4, 20, 29, 32, 47, 52, 59, 70, 85, 93]
[13, 22, 33, 36, 47, 55, 67, 74, 87, 93]
[13, 24, 33, 40, 51, 56, 68, 80, 88, 94]
[18, 30, 37, 41, 55, 58, 69, 80, 89, 94]
[19, 30, 40, 46, 60, 60, 71, 81, 90, 97]
[21, 37, 41, 56, 61, 66, 72, 83, 94, 97]
[28, 39, 51, 67, 73, 83, 91, 95, 95, 98]


Para ordenar horizontalmente, se va recorriendo cada uno de las filas que contiene un array cada una, y se va ordenando con sort(). la función sort() ordena el array in-place, que significa que una vez se ejecuta sort() ya queda modificado.
1
arr.map(a => a.sort((a,b) => a-b));


Para ordenar verticalmente, recorremos el array por sus 10 elementos (del 0 a 9)
1
for (let i=0; i<arr.length; i++) {
y por cada uno de estos valores, obtenemos el valor de indice que hemos obtenido de cada uno de los arrays que contiene. Con esto conseguimos un array con los 10 elementos verticales de la fila "i". en primero lugar la primera columna, segunda columna, etc...
1
let arrVert=arr.map(a => a[i]);
Ordenamos sus valores:
1
arrVert.sort((a,b) => a-b);
Reemplazamos cada uno de los elementos en el array original por los que hemos ordenado
arr.map((a, index) => a[i]=arrVert[index]);


La explicación de como crear el array de 10x10 aquí: https://www.lawebdelprogramador.com/codigo/JavaScript/6969-Crear-un-array-bidimensional-de-10x10-con-numeros-aleatorios.html

135 visualizaciones durante los últimos 90 días


18
0