node multidimensional array to one dimensional code example
Example 1: javascript create 2d array
function create2DArray(rows, columns, value = (x, y) => 0) {
var array = new Array(rows);
for (var i = 0; i < rows; i++) {
array[i] = new Array(columns);
for (var j = 0; j < columns; j++) {
array[i][j] = value(i, j);
}
}
return array;
}
var array = create2DArray(2, 3, (row, column) => row + column);
console.log(array);
Example 2: reach to each cell in 2d array javascript
function getCell(matrix, y, x) {
var NO_VALUE = null;
var value, hasValue;
try {
hasValue = matrix[y][x] !== undefined;
value = hasValue? matrix[y][x] : NO_VALUE;
} catch(e) {
value = NO_VALUE;
}
return value;
}
function surroundings(matrix, y, x) {
return {
up: getCell(matrix, y-1, x),
upRight: getCell(matrix, y-1, x+1),
right: getCell(matrix, y, x+1),
downRight: getCell(matrix, y+1, x+1),
down: getCell(matrix, y+1, x),
downLeft: getCell(matrix, y+1, x-1),
left: getCell(matrix, y, x-1),
upLeft: getCell(matrix, y-1, x-1)
}
}