有一个问题,弄清楚如何解决这个问题,我已经搜索并寻找答案,但它们并不像我正在寻找的那样。 这是初学者的东西,我意识到,但任何帮助将受到高度赞赏。
以下代码由我的老师提供,适用于创建 一个 随机数。对于我的生活,我无法弄清楚如何创建100个随机数并制作10 x 10平方的数字。
eg. 5468 2367 1587 2587 2310 9802 0154 8753 4965 2571
3249 3248 2158 4659 1321 1278 9871 0123 4654 4587
etc. for 10 rows.
<div id="answer"></div>
<script type="text/javascript">
function giveValues() {
var length, zeroes;
var number = Math.round((Math.random() * 9999));
// toString()-method and lenght to set amount of digts
zeroes = 4 - number.toString().length;
for (var j = 1; j <= zeroes; j++) {
number = "0" + number;
}
return number;
}
document.getElementById("answer").innerHTML = giveValues();
我也知道if(j%nameofvar == 0){用于制作新行,但我无法做到这一点。
答案 0 :(得分:0)
最基本的方式:
function lpad(number) {
while (number.toString().length < 4) {
number = "0"+number;
}
return number;
}
var max = 9999;
var matrix = [];
var size = 10;
for (var i = 0; i < size * size; i++) {
if (i % size === 0) {
matrix.push([]);
}
var number = lpad(Math.ceil(Math.random() * max));
matrix[matrix.length - 1].push(number);
}
document.getElementById("answer").innerHTML = matrix.join("<br />");
&#13;
<div id = "answer"></div>
&#13;
使用数组更有效,但您也可以简单地连接数组。
答案 1 :(得分:0)
您可以生成一个大的随机数,然后将其限制为4位数。
试试这个:
function giveValues() {
var number = Math.round((Math.random() * 999999999));
return number.toString().substr(0, 4);
}
var arr = [];
for(var i = 0; i < 10; i++){
arr.push([giveValues(), giveValues(), giveValues(), giveValues(), giveValues(), giveValues(), giveValues(), giveValues(), giveValues(), giveValues()]);
}
document.getElementById("answer").innerHTML = arr.join(' <br/>').replace(/,/g,' ');
答案 2 :(得分:0)
考虑到您尚未学习阵列,请尝试以下操作,因为我认为它最适合您所寻找的内容。这也是一个Plunker http://plnkr.co/edit/LltYPtSfR9Ndo46kYmVN?p=preview。
<div id="answer"></div>
<script>
function giveValues() {
var length, zeroes;
var number = Math.round((Math.random() * 9999));
// toString()-method and lenght to set amount of digts
zeroes = 4 - number.toString().length;
for (var j = 1; j <= zeroes; j++) {
number = "0" + number;
}
return number;
}
var columns = 10;
var total = 100;
var bigString = "";
for (var i=0; i<total; i++) {
if (i != 0 && i % columns == 0) {
bigString += "<br/>";
}
bigString += giveValues(i).toString() + " ";
}
var answer = document.getElementById("answer");
answer.innerHTML = bigString;
</script>