从数组中选择随机项

时间:2016-01-30 16:39:50

标签: javascript html

我想为我的两个女孩制作一个游戏。它随机选择一个形容词和一个名词,然后显示出来的词语。

我可以将随机单词打印到控制台,但现在我需要它们出现在html中。

Array.prototype.sample = function(){
  return this[Math.floor(Math.random()*this.length)];
}


var randomAdj = (["happy", "sad", "bouncy", "silly"].sample());
var randNoun = (["monkey", "butterfly", "puppy"].sample());

document.getElementById(#adj).textContent = randomAdj;
document.getElementById(#noun).textContent = randomNoun;

最后两行不适合我(#adj#noun是html中使用的span}。

我只有几个星期的学习时间,所以我可能会遗漏一些非常明显的东西。

2 个答案:

答案 0 :(得分:4)

随机部分应该工作(请记住修改原型不是一个好习惯,但是)你有两个语法错误:

document.getElementById(#adj).textContent = randomAdj;
document.getElementById(#noun).textContent = randomNoun;

"adj""noun"作为字符串传递:

document.getElementById("adj").textContent = randomAdj;
document.getElementById("noun").textContent = randomNoun;

您不需要#来电中的getElementById代码段。 另请注意,您使用的是randomNoun,但您声明了randNoun。这是工作代码和示例:

function randomItem(arr){
  return arr[Math.floor(Math.random()*arr.length)];
}


var randomAdj = randomItem(["happy", "sad", "bouncy", "silly"]);
var randomNoun = randomItem(["monkey", "butterfly", "puppy"]);

document.getElementById("adj").textContent = randomAdj;
document.getElementById("noun").textContent = randomNoun;
<span id="adj"></span>
<span id="noun"></span>

答案 1 :(得分:0)

拨错

document.getElementById(#adj).textContent = randomAdj;
document.getElementById(#noun).textContent = randomNoun;

使用

document.getElementById("adj").innerHTML = randomAdj;
document.getElementById("noun").innerHTML = randomNoun;