Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
构建调查问卷时要使用的Javascript数组的正确类型是什么?_Javascript_Arrays - Fatal编程技术网

构建调查问卷时要使用的Javascript数组的正确类型是什么?

构建调查问卷时要使用的Javascript数组的正确类型是什么?,javascript,arrays,Javascript,Arrays,我正在构建一个单页问卷应用程序,我不确定构建问题数组的正确方法是什么。另外,以这种方式混合各种类型的问题是一种不好的做法吗?(同一阵列中的单选、多选?)基本上,我仍在努力理解我所看到的两种基本方法的优缺点 备选案文1: var hygiene = [ { pageheader: "Self-Care" } { q: "When was your last shower?", choicetype: "radio", a1: "Today",

我正在构建一个单页问卷应用程序,我不确定构建问题数组的正确方法是什么。另外,以这种方式混合各种类型的问题是一种不好的做法吗?(同一阵列中的单选、多选?)基本上,我仍在努力理解我所看到的两种基本方法的优缺点

备选案文1:

var hygiene = [

  {
    pageheader: "Self-Care"
  }

  {
    q: "When was your last shower?",
    choicetype: "radio",
    a1: "Today",
    a2: "Yesterday",
    a3: "Two days ago",
    a4: "I don't know"
  }

  {
    q: "How much do you weigh today?",
    choicetype: "keypad"
  }

  {
    q: "Do you take any medications?",
    choicetype: "radio",
    a1: "Yes",
    a2: "No"
  }

  {
    q: "Which medications?",
    choicetype: "multiselect",
    a1: "Zostavax",
    a2: "Percocet",
    a3: "Actemra",
    a4: "Cimzia",
    a5: "Relprevv"
  }

];
备选案文2:

var hygiene = {

  pageheader: "Self-Care",

  question1: [
    "When was your last shower?", "radio", "Today", "Yesterday",
    "Two days ago", "I don't know"
  ],

  question2: [
    "How much do you weigh today?", "keypad"
  ],

  question3: [
    "Do you take any medications?", "radio", "Yes", "No"
  ],

  question4: [
    "Which medications?", "multiselect", "Zostavax", "Percocet",
    "Actemra", "Cimzia", "Relprevv"
  ]

};

选项1比选项2好得多,因为您指定了变量,并为每个字符串指定了有意义的名称,以便以后在代码中使用


如果你有大量的问题,这取决于你代码的可读性。如果您在一个文件中有100个,您喜欢1个还是2个?

我的建议是不使用其中任何一个,而是使用以下内容:

var hygiene = {

    pageheader: "Self-Care",

    questions: [

        {
            question: "When was your last shower?",
            choicetype: "radio",
            answers: [
                "Today",
                "Yesterday",
                "Two days ago",
                "I don't know"
            ]
        },

        {
            question: "How much do you weigh today?",
            choicetype: "keypad"
        },

        {
            question: "Do you take any medications?",
            choicetype: "radio",
            answers: [
                "Yes",
                "No"
            ]
        },

        {
            question: "Which medications?",
            choicetype: "multiselect",
            answers: [
                "Zostavax",
                "Percocet",
                "Actemra",
                "Cimzia",
                "Relprevv"
             ]
         }
    ]
}

这其实并不重要,只需选择一个,不要浪费时间。两个示例都不能准确地表示您所拥有的内容的结构。您需要了解对象和数组之间的区别。@Diodeus:数据交换与此有什么关系?向下投票有什么关系?哥们只是想知道他是否在正确的轨道上。选项2本质上是一种jsonized CSV格式,由于省略了字段名的键,它的优点只是稍微小一些(从服务器传输的字节数来看)。如果您正在传输大量数据,那么值得考虑选项2。否则,选项1更具可读性,更易于使用。同意。如果有很多这样的数据,为优化而发布它们将是一个完全不同的场景。添加一些原因,我将对此进行投票。大致上,{}被用作定义属性的“类”。“[]”用于定义定义集合。我的意思是在答案中,但我想这样就可以了。关键是你的答案给出了一个建议的结构(这是好的),没有任何理由说明原因。