有点被“卡住”了;三角形“;Javascript程序
我现在有一个小问题,我希望你们中的一个能帮我解决。我试过好几件事,但都做不到。我正在尝试使用JavaScript打印一个三角形的星号。程序将询问用户行数,然后询问方向。我甚至还没有开始方向,因为我无法让行工作。奇怪的是,我可以让它打印出三角形硬编码函数调用 这是JS文件:有点被“卡住”了;三角形“;Javascript程序,javascript,Javascript,我现在有一个小问题,我希望你们中的一个能帮我解决。我试过好几件事,但都做不到。我正在尝试使用JavaScript打印一个三角形的星号。程序将询问用户行数,然后询问方向。我甚至还没有开始方向,因为我无法让行工作。奇怪的是,我可以让它打印出三角形硬编码函数调用 这是JS文件: function myTriangle(){ var result = ""; var totalRows = document.getElementById('rows').value; var direction =
function myTriangle(){
var result = "";
var totalRows = document.getElementById('rows').value;
var direction = document.getElementById('UpOrDown').value;
for (var i = 1; i <= totalRows; i++){
document.writeln("count");
for (var j = 1; j <= 1; j++)
{
result += "*";
}
result += "<br/>";
}
return result;
}
var answer = myTriangle();
document.getElementById('myDiv').innerHTML = answer;
document.writeln
将完全擦除页面,除非在加载页面时调用它
因此,它将销毁myDiv
,导致getElementById
失败
此外,我不确定你想用
标签实现什么,但看起来你需要两个
编辑:噢,这是:
for(var j=1;j这不是有效的脚本标记
<script src="scripts.js", "div.js"></script>
您需要将其拆分为两个标记:
<script src="scripts.js"></script>
<script src="div.js"></script>
这是我的解决方案,它使用es2015.replace()
但是有一个很好的解决方案
用于es5的polyfill:
var output=document.getElementById('output');
函数三角形(大小){
对于(var i=1;i通常有四种类型的三角形-
1.)* 2.) *** 3.) * 4.) ***
** ** ** **
*** * *** *
1-
var ast = [],
i, j = 4;
for (i = 0; i < j; i++) {
ast[i] = new Array(i + 2).join("*");
console.log(ast[i]);
}
代码3-
var ast = [],
i, j = 4;
for (i = 0; i < j; i++) {
ast[i] = new Array(j - i).join(' ') + new Array(i + 2).join("*");
console.log(ast[i]);
}
要在文档而不是控制台中打印星号,请执行以下操作-
document.getElementById('anyElement').innerHTML+=ast[i] + '<br />';
document.getElementById('anyElement').innerHTML+=ast[i]+'
;
var j=1;j感谢您花时间回答这个问题。实际上,我不小心把document.writeln语句留在了那里。我已经测试了这个语句,看看它是否能传入参数,但在我发布这个之前忘了取出它……很抱歉。但是,我仍然无法获取“for”这一行(var j=1;jI)我用一个JSFIDLE链接编辑了我的答案,这个链接指向我对这个问题的工作解决方案。非常感谢。这个JSFIDLE链接很棒……很多时候,当我尝试“逆向工程”时,我做得更好“一个问题。我认为我比其他任何人都更擅长视觉学习。我也是这样学的。如果小提琴有什么让你困惑的地方,我很乐意解释。”。
var ast = [],
i, j = 4;
for (i = 0; i < j; i++) {
ast[i] = new Array(i + 2).join("*");
console.log(ast[i]);
}
var ast = [],
i, j = 4;
for (i = j-1; i >=0; i--) {
ast[i] = new Array(i + 2).join("*");
console.log(ast[i]);
}
var ast = [],
i, j = 4;
for (i = 0; i < j; i++) {
ast[i] = new Array(j - i).join(' ') + new Array(i + 2).join("*");
console.log(ast[i]);
}
var ast = [],
i, j = 4;
for (i = j-1; i >=0; i--) {
ast[i] = new Array(j - i).join(' ') + new Array(i + 2).join("*");
console.log(ast[i]);
}
document.getElementById('anyElement').innerHTML+=ast[i] + '<br />';