我试图制作一个奇怪的在线节目,但我遇到了麻烦。
这是我的代码:
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;
}
答案 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];
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;