44 lines
894 B
JavaScript
44 lines
894 B
JavaScript
'use strict';
|
|
|
|
function generate(val) {
|
|
return {
|
|
size: (row, col) => size(val, row, col),
|
|
diag: (row, col) => diag(val, row, col)
|
|
}
|
|
}
|
|
|
|
function size(val, row, col) {
|
|
if (!col) {
|
|
col = row;
|
|
}
|
|
let rows = [];
|
|
for (let i = 0; i < row; i++) {
|
|
let cols = [];
|
|
for (let j = 0; j < col; j++) {
|
|
cols[j] = val || Math.random();
|
|
}
|
|
rows[i] = cols;
|
|
}
|
|
return rows;
|
|
}
|
|
|
|
function diag(val, row, col) {
|
|
if (!col) {
|
|
col = row;
|
|
}
|
|
let rows = [];
|
|
for (let i = 0; i < row; i++) {
|
|
let cols = [];
|
|
for (let j = 0; j < col; j++) {
|
|
cols[j] = 0;
|
|
}
|
|
rows[i] = cols;
|
|
if (i < col || row == col) {
|
|
rows[i][i] = val || Math.random();
|
|
}
|
|
}
|
|
return rows;
|
|
}
|
|
|
|
module.exports = generate;
|