JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="https://code.getmdl.io/1.2.1/material.indigo-pink.min.css">
<div id='generator'>
<button onclick="setupGenArray()">Make array</button>
<label for="arCount">Arrrays count
<input type="number" id="arCount" value="2" />
</label>
<label for="count">Items in each aarray
<input type="number" id="count" value="3" />
</label>
<label for="minRange">Array items range from
<input type="number" id="minRange" value="1" />
</label>
<label for="maxRange">to
<input type="number" id="maxRange" value="100" />
</label>
<p id="target"></p>
</div>
SCSS
#generator {
max-width: 600px;
margin: 3rem auto;
padding: 1rem;
background: #fff;
button,
#target {
background: #3f51b5;
color: #fff;
border: none;
border-radius: 2px;
position: relative;
height: 36px;
margin: 0;
min-width: 64px;
padding: 0 16px;
display: inline-block;
font-family: "Roboto", "Helvetica", "Arial", sans-serif;
font-size: 14px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0;
overflow: hidden;
will-change: box-shadow;
transition: box-shadow .2s cubic-bezier(.4, 0, 1, 1), background-color .2s cubic-bezier(.4, 0, .2, 1), color .2s cubic-bezier(.4, 0, .2, 1);
outline: none;
cursor: pointer;
text-decoration: none;
text-align: center;
line-height: 36px;
vertical-align: middle;
}
#target {
background: #ff4081;
font-size: 20px;
}
label {
display: inline-block;
width: 100%;
margin-top: 2rem;
+label {
margin-top: 0;
}
input {
border: 2px solid #3f51b5;
display: block;
font-size: 16px;
margin: 1rem 0;
padding: 0.25rem;
width: 100%;
background: 0 0;
text-align: left;
}
}
}
JavaScript
(() => {
setupGenArray = () => {
const globalArray = [];
const arraysCount = parseInt(document.getElementById("arCount").value, 10);
const iCount = parseInt(document.getElementById("count").value, 10);
const rMin = parseInt(document.getElementById("minRange").value, 10);
const rMax = parseInt(document.getElementById("maxRange").value, 10);
let i = 0;
let l = arraysCount;
for (i; i < l; i++) {
let j = 0;
let y = iCount;
// Создаем пустой массив внутри цикла - так легче понимать что он будет заново создан пустым при следующей итерации
const tempArray = [];
for (j; j < y; j++) {
const item = Math.floor(Math.random() * (rMax - rMin + 1)) + rMin;
tempArray.push(item); // пушим в него значения
}
globalArray.push(tempArray) // пушим в глобальный массив созданный нами внутренний массив
}
document.getElementById('target').innerHTML = JSON.stringify(globalArray);
}
})()