Código de JavaScript - Crear un array de 10x10 con números aleatorios y ordenarlo verticalmente y horizontalmente

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 horizontalmentegráfica de visualizaciones


JavaScript

Publicado el 25 de Marzo del 2021 por Katas (200 códigos)
5.221 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

1

Publicado el 25 de Marzo del 2021gráfica de visualizaciones de la versión: 1
5.222 visualizaciones desde el 25 de Marzo del 2021
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Creamos el array 10x10
const y=[..."1111111111"];
let arr=y.map(x => y.map(el => Math.floor(Math.random() * 100)));
console.log("Array original");
console.table(arr);
 
// ordenar horizontal
arr.map(a => a.sort((a,b) => a-b));
console.log("Array ordenado horizontalmente");
console.table(arr);
 
// ordenar vertical
for (let i=0; i<arr.length; i++) {
    let arrVert=arr.map(a => a[i]);
    arrVert.sort((a,b) => a-b);
    arr.map((a, index) => a[i]=arrVert[index]);
}
console.log("Array ordenado verticalmente");
console.table(arr);



Comentarios sobre la versión: 1 (0)


No hay comentarios
 

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s6970