在终端中运行JavaScript(使用rhino),我如何使用print()函数以单行打印?

22 浏览
0 Comments

在终端中运行JavaScript(使用rhino),我如何使用print()函数以单行打印?

print()函数在末尾会加上换行符。

以下是JS代码

print("first");
Things = ["car", "building"]
for (var i = Things.length - 1; i >= 0; i--) 
{
    print(Things[i])
}

上述代码的输出结果是

first
building
car

然而我想要这样打印

firstbuildingcar

如何使用print()函数将它们打印在一行中?

0
0 Comments

在使用rhino运行JavaScript时,我想通过print()函数在一行中打印内容,但是遇到了问题。下面是我的代码:

Things =["car","building"]
res ="first"
for (var i = Things.length - 1; i >= 0; i--) 
{
    res=res+Things[i]
}
print(res);

然而,运行后输出的结果并不是我期望的在一行中打印所有内容。问题的原因是在循环中的每一次迭代中,我将新的内容添加到res变量中,并使用print()函数将其打印出来。由于print()函数会在每次调用时换行,所以导致了每个元素都被打印在了不同的行。

为了解决这个问题,我可以使用不带换行符的print()函数来实现在一行中打印所有内容。下面是修改后的代码:

Things =["car","building"]
res ="first"
for (var i = Things.length - 1; i >= 0; i--) 
{
    res=res+Things[i]
}
print(res, false);

在这个修改后的代码中,我在print()函数的参数中传入了一个false值,表示不换行。这样,所有的内容将会在一行中打印出来。

通过以上的修改,我成功地解决了在使用rhino运行JavaScript时通过print()函数在一行中打印内容的问题。

0
0 Comments

问题原因:在使用rhino在终端中运行JavaScript时,使用print()函数进行打印时,想要在一行中打印输出内容。

解决方法:

1. 创建一个数组,并使用空白分隔符进行连接:print(['uno','dos','tres'].join("")); // 输出 "unodostres"

2. 不需要循环。在连接数组之前,需要先创建数组(而不是打印一个独立的字符串,然后循环遍历数组)。

3. 如果想要反转数组的打印顺序(看起来像是你的循环正在做的事情),只需在join()之前对数组进行reverse()操作:print(['uno','dos','tres'].reverse().join("")); // 输出 "tresdosuno"

以上就是解决这个问题的方法。

0