(JS)如何从中获取值

时间:2017-12-25 14:37:46

标签: javascript arrays

如何从答案获取 a b c ,并在中显示< ul> 喜欢这个。

  • A:超文本标记语言
  • B:超文本标记语言
  • C:超文本主语言
  • 如果可以使用for循环,请告诉我如何。

    var questions = [
      {
        question: "Co znamená zkratka HTML?",
        answers: {
          a: "Hyper Text Markup Language",
          b: "Hyper Text Mark Language",
          c: "Hyper Text Main Language"
        },
        correctAnswer: "a"
      },
      {
        question: "Co znamená zkratka www?",
        answers: {
          a: "Internetový prohlížeč",
          b: "Dokumenty",
          c: "Celosvětová informační pavučina"
        },
        correctAnswer: "c"
      },
      {
        question: "Co znamená zkratka FTP?",
        answers: {
          a: "Protokol pro připojení k internetu",
          b: "Program pro čtení pošty",
          c: "Souborový transportní protokol"
        },
        correctAnswer: "c"
      },
      {
        question: "Pro poštovní klienty na internetu se používá",
        answers: {
          a: "TCP protokol",
          b: "IP protokol",
          c: "POP3 protokol"
        },
        correctAnswer: "c"
      },
      {
        question: "Co je ICQ?",
        answers: {
          a: "Program pro řízení přístupu k Internetu",
          b: "Program pro posílání krátkých textových zpráv přes Internet",
          c: "Program testující IQ"
        },
        correctAnswer: "b"
      }
    ];
    

    2 个答案:

    答案 0 :(得分:1)

    只需使用map

    即可
    questions.map( s => s.answers[ s.correctAnswer ] );   
    

    修改

      

    我想只显示答案不正确答案

    questions.map( s => s.answers );   
    

    答案 1 :(得分:0)

    试试这个:

    var options = ['a','b','c'];
    questions.forEach((question) => {
       var liElement = document.createElement('li');
       options.forEach((option) => {
          var ul = document.createElement('ul');
          ul.innerHtml = question.answers[option];
          liElement.appendChild(ul);
       })
       document.body.appendChild(liElement);
    });