Javascript:使用for语句作为变量

时间:2014-08-27 08:30:25

标签: javascript arrays variables for-loop

我对javascript很新,我最近一直在玩的东西是' for'声明。不过,我对一件事情提出质疑。我已经学会了如何制作一个' for'声明做的事情好像是输出,如下所示:

for (i = 0; i < 3; i++) {
console.log(i);
}

但是如果你想为&#39; for&#39;的整个输出设置一个变量怎么办?声明?

var destinationArray = ["town", "areas", "bosses"];
var destinationArraySet = 1;
var i;

for ( i = 0; i < destinationArraySet; i++) {
console.log(destinationArray[i]);
} /*the whole thing should be equal to var destination */


var userDestinationPrompt = ("Where would you like to go? Available places: " +
    /* var destination */
    +
    ".").toUpperCase();

提供更多背景信息:我制作的游戏允许在清除目的地之前的其他目的地。一旦实现了这一点,我将destinationArraySet设置为更高的值,这意味着更多的地方将被记录并放在&#39;可用的地点之后。

非常感谢帮助!如果有不清楚的事情让我知道。

4 个答案:

答案 0 :(得分:1)

for语句不是表达式,因此它没有返回值。使用变量来收集循环中的值:

var destination = '';
for (var i = 0; i < destinationArraySet; i++) {
  destination += destinationArray[i] + ' ';
}

当然,如果您只想将数组中的值连接起来,可以使用slice方法获取其中的一部分,然后使用join方法:

var destination = destinationArray.slice(0, destinationArraySet).join(' ');

答案 1 :(得分:0)

var destination = '';
var destinationArray = ["town", "areas", "bosses"];
var destinationArraySet = 1;
for (var i = 0; i < destinationArraySet; i++) {
    destination += destinationArray[i] + '\n';
}
console.log(destination);

答案 2 :(得分:0)

for语句没有&#34;输出&#34;,它不是一个功能。将for视为一种功能会在以后给你带来麻烦。 for只是一个连续执行内部代码块的语句。它不输出&#34;,换句话说,返回任何值。

请改为:

var destinationArray = ["town", "areas", "bosses"], destinationArraySet = 1;

var userDestinationPrompt = ("Where would you like to go? Available places: " +
    destinationArray.slice(0, destinationArraySet).join("\n")
+ ".").toUpperCase();

prompt(userDestinationPrompt);

演示:http://jsfiddle.net/7c2b9q7m/1/

  • destinationArray.slice(0, destinationArraySet):将数组剪切到指定的长度。
  • .join("\n"):按\n s(换行符)加入新创建的数组,以微调默认的console.log行为。

答案 3 :(得分:0)

试试这个 -

var destinationArray = ["town", "areas", "bosses"];
var destinationArraySet = 1;
var i;
var availablePlaces = '';
var separator = '';

for ( i = 0; i < destinationArraySet; i++) {
   availablePlaces += separator + destinationArray[i];
   separator = ', ';
} 


var userDestinationPrompt = ("Where would you like to go? Available places: " +
    availablePlaces + ".").toUpperCase();