ed8259b6-c5b9-4751-b6dd-384a28bcc980
prompter
Buscamos una función Javascript que dado un número "n" devuelva una matriz rellena con n números ordenados de 0 en adelante con tantos elementos como "n" de la entrada
8ed8eb1a-7396-4d3d-90ae-74ddcd3476ef
ed8259b6-c5b9-4751-b6dd-384a28bcc980
assistant
Aquí está una función en JavaScript que toma un número "n" como entrada y devuelve una matriz con "n" números ordenados de 0 en adelante:

function getArray(n) {
  var arr = [];
  for (var i = 0; i < n; i++) {
    arr.push(i);
  }
  return arr;
}

La función simplemente usa un bucle for para agregar "n" números consecutivos en una matriz y luego devuelve la matriz resultante. Al llamar a getArray(5), por ejemplo, se devolverá la matriz [0, 1, 2, 3, 4].
0f15e6cd-ddde-4239-b8db-78b8144f5ed3
8ed8eb1a-7396-4d3d-90ae-74ddcd3476ef
prompter
¿Qué hace en ese código la línea de "arr.push(i)¿Cómo funciona la instrucción .push?
98a6291f-a6ec-4b07-929f-d38e8b81781a
0f15e6cd-ddde-4239-b8db-78b8144f5ed3
assistant
La instrucción .push en Javascript funciona en Arrays para agregar un elemento al final de la lista, sin mutar el Array. Por esta misma razón se puede utilizar para agregar un elemento a un Array almacenado en una constante, cosa que no pasa con el Spread operator.
a2c765d3-a666-460b-a008-a8daedd6ae36
98a6291f-a6ec-4b07-929f-d38e8b81781a
prompter
podrías hacer el código sin tener que utilizar un bucle for?
bc11c975-6575-4f35-8d52-5bd343d5d13c
a2c765d3-a666-460b-a008-a8daedd6ae36
assistant
Aquí tienes una función para crear una lista de "n" números empezando desde 0 sin usar un bucle for, ni otros bucles.

function getArray(n){
	let numbers = Array(n).fill(0).map(function(val, index) {
		return 1 * index;
	});
	return numbers;
}

1. Creamos un array con longitud "n" y llenamos cada posición con el valor 0 usando .fill().
2. Cambiamos los valores usando .map()
3. Dentro de .map() creamos una función con los parámetros del valor y el índice.
4. Cada valor de cero será sobreescrito por: 1 * el índice del array, generando un listado de 0 hasta "n".

Ejemplo:

let arr = getArray(6);
console.log(arr);
//alert(arr);

resultado:
0, 1, 2, 3, 4, 5