Javascript 帮我解释一下这个逻辑(新手)
我需要使用Javascript生成一个半金字塔数字序列,其中包含输入的起始数字和html页面中的行数,并在html页面中显示结果。我已经完成了Java脚本编写等工作。我不明白的是它的逻辑 看看这个你可能知道我在说什么: 下面是我在Javascript中的函数,它将在按钮单击函数上触发Javascript 帮我解释一下这个逻辑(新手),javascript,Javascript,我需要使用Javascript生成一个半金字塔数字序列,其中包含输入的起始数字和html页面中的行数,并在html页面中显示结果。我已经完成了Java脚本编写等工作。我不明白的是它的逻辑 看看这个你可能知道我在说什么: 下面是我在Javascript中的函数,它将在按钮单击函数上触发 doFunction(){ var enteredNumber=document.getElementById("start"); var lines=document.getElementById("lin
doFunction(){
var enteredNumber=document.getElementById("start");
var lines=document.getElementById("lines");
var result;
for(i=0;i<=lines.value;i++) {
for(j=enteredNumber.value;j<=i;j++) { document.write(j + " " + " "); }
document.write("<br />");
}
}
有一个条件。我将指定$start
和$line
如果$start=5
和$lines=3
,则输出应如下所示:
5
5 6
5 6 7
我已经使用了for循环,但是如果我给自己的起始编号高于行数,那就不起作用了
实际上,我需要用Javascript完成它,我已经做了必要的工作,但我对生成此类序列的逻辑(使用用户给定的值)感到困惑。我实际上使用了两个for循环来生成常规数字序列,如下面的
1 2 1 2 3
等等。使用单独的变量来存储行数,你开始的号码。
算法应该如下所示:
$lines = input
$start = input
for($i = 0;$i<$lines;$i++){
$psudo_start=$start;
for($j = 0;$j<$i;$j++){
print $psudo_start;
$psudo_start++;
}
print newline;
}
$lines=输入
$start=输入
对于($i=0;$i首先,如果没有提供起始/行,则需要默认值,然后抓取输入并检查是否应使用该值或默认值。请记住,输入是字符串,因此需要使用parseInt()
将其转换为数字
// If no start value is provided default to a start of 1
var startVal = 1;
var enteredStart = document.getElementById("start").value.trim();
if (enteredStart.length > 0) {
startVal = parseInt(enteredStart);
}
// if no lines value is provided default to a lines of 5
var linesVal = 5;
var enteredLines = document.getElementById("lines").value.trim();
if (enteredLines.length > 0) {
linesVal = parseInt(enteredLines);
}
现在您有了开始和行,用户设置的或默认的。生成输出字符串:
var output = "";
for (var i = 0; i < lines; i++) {
for (var j = startVal; j <= startVal + i; j++) {
output += j + " ";
}
output += "</br>";
}
实际上,我需要用Javascript完成它,我已经做了必要的工作,但我对生成此类序列的逻辑感到困惑(使用用户给定的值)实际上,我使用了两个for循环来生成常规数字序列,如1、2、1、2、3等等。因此,您希望它完成JavaScript,将问题标记为C,并且您的变量看起来像PHP。不过,您能否编辑并更好地解释您的问题,因为我似乎不理解它。您也应该发布您的代码rry如果这是错误的引导,就像我说的,我是编程新手。请跟我说说。实际上,我需要使用Javascript生成一个半金字塔数字序列,其中包含输入的起始数字和html页面中的行数,并在html页面中显示结果。我已经完成了Java脚本编写和其他工作。我没有得到的是它的逻辑如果你自己找到了问题的答案,以答案的形式写下来,然后接受如果。否则,接受对你最有用的答案。
var output = "";
for (var i = 0; i < lines; i++) {
for (var j = startVal; j <= startVal + i; j++) {
output += j + " ";
}
output += "</br>";
}
<div id="outputDiv"></div>
document.getElementById("outputDiv").innerHTML = output;