将JS数组附加到变量并显示它?

时间:2016-05-16 23:56:29

标签: javascript

我试图制作一个奇怪的在线节目,但我遇到了麻烦。

这是我的代码:

        function name() {
        var titles = ["titles", "titles", "titles", "titles", "titles", "titles"];
        var randFor = Math.random();
        randFor = 7 * randFor;
        randFor = Math.floor(randFor);

        var finished = [];
        var arraySpot = 0;
        var newVal;
        var newValSpot = 0;
        newVal = finished[newValSpot];
        for (i = 0; i < randFor; i++) { 
            var randArray = Math.random();
            randArray = 7 * randArray;
            randArray = Math.floor(randArray);

            finished.push[arraySpot] = titles[randArray];

            arraySpot++;
            newValSpot++;
            newVal = " " + finished[newValSpot];
        }

        document.getElementById("gen").innerHTML =newVal;

    }

基本上,我想要做的是获取一系列单词,并将其转换为变量并将其显示在此标记中:

<div id="gen"></div>

但每次它都给了我&#34; undefined&#34;在它前面有空间?

感谢任何帮助,抱歉在JS中成为这样的菜鸟。

更新 我修改了代码,我不再得到&#34; undefined&#34;但现在我什么都没得到?

        function name() {
        var titles = ["titles", "titles", "titles", "titles", "titles", "titles"];
        var randFor = Math.random();
        randFor = 7 * randFor;
        randFor = Math.floor(randFor);

        var newVal;
        newVal = title[0];
        for (i = 0; i < randFor; i++) { 
            var randArray = Math.random();
            randArray = 7 * randArray;
            randArray = Math.floor(randArray);

            newVal = " " + titles[randArray];
        }

        document.getElementById("gen").innerHTML = newVal;

    }

1 个答案:

答案 0 :(得分:1)

希望这很有用

  • newVal = finished[newValSpot];目前,finished仍为空数组,因此您获得undefined值。
  • finished.push[arraySpot] = titles[randArray];请检查this是否有推送方式。
  • newVal = " " + titles[randArray];这会为newVal分配一个新值,我想你想这样做。 newVal = " " + titles[randArray];

<强>更新

  • var titles = ["titles", "titles", "titles", "titles", "titles", "titles"]; titles长度为6而非7,您应该再添加一个&#34;标题&#34;进入titles
  • newVal = " " + titles[randArray];同样的问题,我想你想这样做。 newVal = newVal + " " + titles[randArray];

&#13;
&#13;
function name() {
  // Add one more "titles" in this array.
  var titles = ["titles", "titles", "titles", "titles", "titles", "titles", "titles"];
  var randFor = Math.random();
  randFor = 7 * randFor;
  randFor = Math.floor(randFor);

  var newVal;
  newVal = titles[0];
  for (i = 0; i < randFor; i++) {
    var randArray = Math.random();
    randArray = 7 * randArray;
    randArray = Math.floor(randArray);

    newVal = newVal + " " + titles[randArray];
  }

  document.getElementById("gen").innerHTML = newVal;

}

name();
&#13;
<div id="gen"></div>
&#13;
&#13;
&#13;