This document outlines various methods to produce the array [1, 2, 3, 4, 5, 6] in JavaScript, including combining arrays, generating sequences, and literal declarations.
Array literal
[1, 2, 3, 4, 5, 6];
Array.of
Array.of(1, 2, 3, 4, 5, 6);
Flat with nested arrays
[[1, 2], [3, 4], [5, 6]].flat();
Array.concat (combining arrays)
var array1 = [1, 2, 3];
var array2 = [4, 5, 6];
array1.concat(array2);
Spread operator (combining arrays)
var array1 = [1, 2, 3];
var array2 = [4, 5, 6];
[...array1, ...array2];
Array.push with spread (modifying array)
var array1 = [1, 2, 3];
var array2 = [4, 5, 6];
array1.push(...array2);
Array.from with mapping
Array.from({ length: 6 }, (_, i) => i + 1);
Array.keys with spread and map
[...Array(6).keys()].map(i => i + 1);
Array.fill and map
Array(6).fill().map((_, i) => i + 1);
Apply with map
Array.apply(null, new Array(6)).map((_, index) => index + 1)
Array.fill and reduce
Array(6).fill().reduce((acc, _, i) => [...acc, i + 1], []);
Object.keys with mapping
Object.keys(Array(6).fill()).map(n => Number(n) + 1);
String split
'123456'.split('').map(Number);
For loop
var array = [];
for (let i = 1; i <= 6; i++) {
array.push(i);
}
While loop
var array = [];
let i = 1;
while (i <= 6) {
array.push(i++);
}
Recursive function
function createRange(start, end, arr = []) {
if (start > end) return arr;
return createRange(start + 1, end, [...arr, start]);
}
createRange(1, 6);
Generator function
function* range(start, end) {
for (let i = start; i <= end; i++) {
yield i;
}
}
[...range(1, 6)];
eval
eval('[' + Array.from({length: 6}, (_, i) => i + 1).join(',') + ']');