如何使用变量引用对象

时间:2017-12-17 10:49:45

标签: javascript arrays json object

我有一些测验问题存储在JSON中,我使用AJAX调用,然后作为变量allQuestns stroing:

  // Variable stores all quiz questions
  var allQuestns;

  // AJAX request to retrieve quiz questions from external JSON
  $.ajax({
    async: false,
    type: 'GET',
    url: 'https://api.myjson.com/bins/dqt3f',
    data: { get_param: 'value' },
    dataType: 'json',
    success: function (data) {
      allQuestns = data;
    },
    error: function () {
      alert("Unable to locate the quiz questions. Try again soon and contact admin - quiz@palmerhinchliffe.net")
    }
  });

每个测验的问题都存储在JSON中,作为引用该测验的对象(qz1,qz2,qz3),每个测验都包含一系列问题,每个问题数组包含一个问题字符串,一组选择,以及正确的选择。

我想创建一个可以代替直接引用JSON中的测验对象的变量。所以而不是:

alert(allQuestns.qz2[2].question) //This retrieves the question text 
                                  //from the 3rd question of the 2nd 
                                  //quiz

我想使用变化的变量来引用测验编号,如下所示:

var quizCounter = "qz2";

alert(allQuestns.quizCounter[2].question);

使用quizCounter变量引用对象似乎不起作用。有没有办法做到这一点,或者我必须实际命名对象本身,而不是创建一个可以更改它的引用。

我希望能够使用quizCounter为每个测验显示正确的问题,而不是为每个测验分配单独的html div和JS函数

1 个答案:

答案 0 :(得分:1)

通过[]括号表示法访问,而不是.点符号

var quizCounter = "qz2";

alert(allQuestns[quizCounter][2].question);
//              ^-----------^