【问题标题】:Getting from random array从随机数组中获取
【发布时间】:2013-10-08 15:59:16
【问题描述】:

我有以下 javascript

 var wordselection = [
{ 'word': "Pomme", "gender": "m", },
{ "word": "Banane", "gender": "f", },
{ "word": "Ananas", "gender": "m", },
{ "word": "Chat", "gender": "f", },
{ "word": "Chien", "gender": "m", },
{ "word": "Poisson", "gender": "f", },

];   

function randomword(){
var chosen = wordselection[Math.floor(Math.random()*wordselection.length)];
document.getElementById("word").innerHTML=chosen;
}

我该如何编码,以便它只显示一个随机的“单词”(例如 pomme、banane、ananas)或“gender”

此刻它说[object Object](因为它错了)

谢谢

【问题讨论】:

    标签: javascript arrays random


    【解决方案1】:

    试试:

    var chosen = wordselection[Math.floor(Math.random()*wordselection.length)].word
    

    【讨论】:

      【解决方案2】:

      您需要从对象中选择单词元素,而不是只选择整个对象

      http://jsfiddle.net/bhlaird/HKnb3/

      var wordselection = [{
          'word': "Pomme",
          "gender": "m",
      }, {
          "word": "Banane",
          "gender": "f",
      }, {
          "word": "Ananas",
          "gender": "m",
      }, {
          "word": "Chat",
          "gender": "f",
      }, {
          "word": "Chien",
          "gender": "m",
      }, {
          "word": "Poisson",
          "gender": "f",
      },
      
      ];
      
      function randomword() {
          var chosen = wordselection[Math.floor(Math.random() * wordselection.length)];
          document.getElementById("word").innerHTML = chosen.word;
      }
      

      【讨论】:

        【解决方案3】:

        赞这个http://jsfiddle.net/U6k6G/

        wordselection[Math.floor(Math.random()*wordselection.length)].word;
        

        【讨论】:

          【解决方案4】:

          我为您的 randomword() 函数添加了一个参数,以便您可以指定要选择的类型:单词或性别。

          function randomword(type) {
            var chosen=wordselection[Math.floor(Math.random()*wordselection.length)][type];
            document.getElementById("word").innerHTML += "<p>"+chosen+"</p>";
          }
          
          randomword('word');
          randomword('gender');
          

          http://jsfiddle.net/AESvG/

          【讨论】:

            【解决方案5】:

            您没有指定是要显示单词还是性别。

            添加.word:

            var chosen = wordselection[Math.floor(Math.random()*wordselection.length)].word;
            

            或.gender

            var chosen = wordselection[Math.floor(Math.random()*wordselection.length)].gender;
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2014-06-19
              • 2023-03-11
              • 2018-06-19
              • 1970-01-01
              • 1970-01-01
              • 2022-10-08
              相关资源
              最近更新 更多