我正在尝试制作一个奇怪的在线程序,但遇到了麻烦。
这是我的代码:
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>
但是每次它都会给我“未定义”,前面有一个空格?
感谢您的帮助,抱歉我在 JS 方面是个菜鸟。
更新 我修改了代码,我不再得到“未定义”,但现在我什么也没得到?
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;
}
最佳答案
希望这有用
-
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,您应该在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();
<div id="gen"></div>
关于javascript - 将 JS 数组附加到变量并显示它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37265011/