Stack Overflow en español Asked by Joan on December 24, 2020
Edito pregunta.
Tengo una primera tabla con los siguientes datos:
var taula1 = [8.6,7.5,6.9,9.2,5.1,4.6,7.5,9.9,8.6,7.5,6.9,9.2,5.1,4.6,7.5,9.9,8.6,7.5,6.9,9.2,5.1];
El tema es que tengo que crear una tabla bidimensional para que cada 7 notas haga un salto, ya que cada 7 notas sera un alumno.
var taula1 = [8.6,7.5,6.9,9.2,5.1,4.6,7.5,9.9,8.6,7.5,6.9,9.2,5.1,4.6,7.5,9.9,8.6,7.5,6.9,9.2,5.1];
for (var i = 0; i < taula1.length; i++) {
taula1[i] = Array(7);
}
console.log(taula1);
Creo que la manera más sencilla sería utilizar splice
para ir quitando trozos del array original e irlos guardando en el array de salida.
var taula1 = Array.from(Array(140).keys())
function arrayAMatriz(miArray, columnas) {
let matrizSalida = [];
while (miArray.length > 0) {
matrizSalida.push(miArray.splice(0, columnas))
}
return matrizSalida;
}
console.log(arrayAMatriz(taula1,7))
Versión "más sencilla" (o mejor dicho más didáctica):
var taula1 = Array.from(Array(140).keys())
let arrayFinal = [];
let arrayTemporal = [];
for (i = 0; i < taula1.length; i++) { //Recorremos el array
arrayTemporal.push(taula1[i]); //Guardamos cada elemento que recorremos en un array temporal
if (i !== 0 && (i + 1) % 7 === 0) { //Si la cuenta es un multiplo de 7
arrayFinal.push(arrayTemporal); //Guardamos el array con los siete números en el array final
arrayTemporal = []; //Reiniciamos el array
}
}
console.log(arrayFinal)
Sería más sencillo utilizar un for.. of
si vas a recorrer un array en vez de utilizar un for
con un contador. Espero que esto te sirva de ayuda para entender, te comenté todo para que lo puedas entender mejor.
Update2: Si quieres crear arrays vacíos:
var taula1 = Array(140);
let taula2 = [];
let tamano = 7;
for (let i = 0; i < (taula1.length / tamano); i++) {
taula2[i] = Array(tamano);
}
console.log(taula2)
Otra manera:
let taula1 = Array(140);
let tamano = 7;
let taula2 = Array(taula1.length / tamano, ).fill(0).map(
() => (Array(tamano))
);
console.log(taula2)
Answered by FranAcuna on December 24, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP