gpt4 book ai didi

javascript - 在js中打印数组值

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:49:13 28 4
gpt4 key购买 nike

我正在尝试创建一个函数,它将运行一个数组并将它的值收集到一个如下所示的字符串中:'[1,2,3]'。根据给定的索引,我还需要它在某些情况下只显示数组的一部分。例如:从索引 0 到索引 1 打印的数组 [1,2,0] 将如下所示:'[1,2]'。出于某种原因,我的函数根本不提供任何输出。在这里:

function Tower(size, isFull) {
this.count = 0;
this.tower = new Array(size);

this.add = function(disk) {
this.tower[this.count++] = disk;
};

if (isFull) {
for (var i = 1; i <= size; i++) {
this.add(i);
};
}

this.canAdd = function(disk) {
return this.count == 0 || this.tower[this.count - 1] > disk;
};

this.getTopDiskValue = function() {
return (this.count > 0) ? this.tower[this.count - 1] : 0;
};

this.popTop = function() {
return this.tower[--this.count];
};

this.isFull = function() {
return this.count == this.tower.length;
};

this.printable = function() {
var output = "[";
for (var i = 0; i < this.count; i++) {
output += "" + this.tower[i] + ',';
}
return output.substring(0, output.length() - 1) + (output.length() > 1 ? ']' : "");
};
}

我希望 printable() 函数返回字符串,以便代码:

var tower = new Tower(3,true);
alert(tower.printable());

将弹出一个带有文本“[1,2,3]”的警告框。该对象是 Java 的翻译。顺便说一句,它在 java 中运行良好,我猜翻译并不完美。

最佳答案

你做的事情太复杂了。

假设您有一个数组声明为

var array = [1, 2, 3];

你得到想要的字符串

return '['+array.join(',')+']';

您不需要 pop 或 add 函数,它们也是原生的(并且经过高度优化):

var last = array.pop()
array.push(newItem);

引用:

请注意,所有浏览器都提供一个控制台,您可以在其中找到对错误的详细解释。看看 Chrome Developer Tools 的例子.

关于javascript - 在js中打印数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12677535/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com