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
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].
¿Qué hace en ese código la línea de arr.push(i)¿Cómo funciona la instrucción .push?
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.
podrías hacer el código sin tener que utilizar un bucle for?
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