Test case details

Preparation Code

const rows = 1_000; const cols = 1_000;

Test cases

Test #1

const arr2b = new Array(rows).fill().map(() => new Array(cols).fill(0));

Test #2

const arr2c = [...Array(rows)].map(() => Array(cols).fill(0));

Test #3

const arr3a = Array.from({ length: rows }, () => new Array(cols).fill(0));

Test #4

const arr3b = Array.from({ length: rows }, () => Array.from({ length: cols }, () => 0));

Test #5

const arr4a = []; for (let i = 0; i < rows; i++) { arr4a[i] = []; for (let j = 0; j < cols; j++) { arr4a[i][j] = 0; } }

Test #6

const arr4b = []; for (let i = 0; i < rows; i++) { arr4b[i] = []; for (let j = 0; j < cols; j++) { arr4b[i].push(0); } }

Test #7

const arr4c = new Array(rows); for (let i = 0; i < rows; i++) { arr4c[i] = new Array(cols); for (let j = 0; j < cols; j++) { arr4c[i][j] = 0; } }

Test #8

const arr4d = new Array(rows); for (let i = 0; i < rows; i++) { arr4d[i] = new Array(cols).fill(0); }

Test #9

const arr5a = []; let i = 0; while (i < rows) { arr5a[i] = []; let j = 0; while (j < cols) { arr5a[i][j] = 0; j++; } i++; }

Test #10

const arr5b = []; let i = 0; while (i < rows) { arr5b[i] = []; let j = 0; while (j < cols) { arr5b[i].push(0); j++; } i++; }

Test #11

const arr5c = new Array(rows); let i = 0; while (i < rows) { arr5c[i] = new Array(cols); let j = 0; while (j < cols) { arr5c[i][j] = 0; j++; } i++; }

Test #12

const arr5d = []; let i = 0; while (i < rows) { let row = []; let j = 0; while (j < cols) { row.push(0); j++; } arr5d.push(row); i++; }

Test #13

const arr6 = [...Array(rows)].reduce((acc) => { acc.push(Array(cols).fill(0)); return acc; }, []);

Test #14

const row = new Array(cols).fill(0); const bad4 = JSON.parse(JSON.stringify(new Array(rows).fill(row)));