javascript - 数组在幕后如何工作?

标签 javascript arrays while-loop concatenation

我想,我正在尝试使用基本运算符在 JavaScript 中创建我自己的自定义数组。

我正在读的这本书《Eloquent JavaScript》在第一章中有一个练习,要求我使用“print”函数制作一个金字塔。我的任何解释器中都没有打印功能,并且没有说明如何创建打印功能。所以,我没有打印功能,而是使用警报。

这是代码。

var line = "";
var counter = 0;
while (counter < 10) {
  line = line + "#";
  print(line);
  counter = counter + 1;
}

所以,我尝试使用警报:

var line = "";
var counter = 0;
while (counter < 10) {
  line = line + "#";
  alert(line);
  counter = counter + 1;
}

但警报不是三 Angular 形。这是一堆盒子,其中井号的数量每次都会增加。

我想创建一个字符串连接,然后打印出整个结果。

这是我想到的:

string = "";
counter = 0;
signs = "#";
while (counter < 10){
  string = string + signs + "\n";
  signs = signs + "#";
  counter = counter + 1;
}
alert(string);

所以,我只是想知道,是否有更好的方法在不知道如何创建数组变量的情况下创建数组?

最佳答案

您的第一个井号(金字塔尖)的间距应为金字塔底部长度的一半。因此,如果您的底部有 10 个 # 符号长,那么金字塔顶部应间隔 4 个空格,然后打印 # 符号。

其次,要制作真正的金字塔,您需要从上到下打印,以便第二行逐渐变大。以奇数思考:

// Example
Tip: 1 char
2nd row: 3 chars 
3rd row: 5 chars
4th row: 7 chars
5th row: 9 chars
6th row: 11 chars

等等

你的换行符是错误的。它应该是 \n 。如果打印到 HTML,则使用 <BR> .

或者,您可以使用console.log打印您的字符。

关于javascript - 数组在幕后如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7591696/

相关文章:

c# - while 循环中的值未更新

javascript - AJAX:异步将文件发布到服务器

javascript - react useEffect 异步警告?

javascript - Three.js、WebGL、渲染六幅图像的全景图

c++ - 如何计算我的数组条目条目号

java - 让 FileReader 使用循环读取每四行

javascript - 基于另一个字段自动更改字段 javascript

java - 在java数组中查找最小/最大数字

C++ - 用全零初始化一定大小的指针数组

c - 虽然循环在 C 中无法正常工作