Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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/12.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 如何从Cheerio中相同级别的元素返回数组?_Javascript_Arrays_Node.js_Web Scraping_Cheerio - Fatal编程技术网

Javascript 如何从Cheerio中相同级别的元素返回数组?

Javascript 如何从Cheerio中相同级别的元素返回数组?,javascript,arrays,node.js,web-scraping,cheerio,Javascript,Arrays,Node.js,Web Scraping,Cheerio,如何从同一级别的元素返回数组?一个指向正确方向的点就好了。短暂性脑缺血发作 这是我正在编写的HTML代码 ============================= <div class="quiz-area"> <div class="question-list" id="question-1" style="display: block;"> <div class="ques

如何从同一级别的元素返回数组?一个指向正确方向的点就好了。短暂性脑缺血发作

这是我正在编写的HTML代码 =============================

        <div class="quiz-area">
                <div class="question-list" id="question-1" style="display: block;">
                    <div class="question-content">Select which is a mammal</div>
                    <input id="question_id_1" type="hidden" name="question_1" value="1">
                    <div>
                        <label for="answer-id-1" id="answer-label-1" class="answer">
                            <input type="radio" name="answer-1" id="answer-id-1" class="answer wrong-answer-label">Frog
                        </label>
                    </div>
                    <div>
                        <label for="answer-id-2" id="answer-label-2" class="answer">
                            <input type="radio" name="answer-2" id="answer-id-2" class="answer wrong-answer-label">Chicken
                        </label>
                    </div>
                    <div>
                        <label for="answer-id-3" id="answer-label-3" class="answer">
                            <input type="radio" name="answer-3" id="answer-id-3" class="answer wrong-answer-label">Tree
                        </label>
                    </div>
                    <div>
                        <label for="answer-id-4" id="answer-label-4" class="answer">
                            <input type="radio" name="answer-4" id="answer-id-4" class="answer right-answer-label">Dog
                        </label>
                    </div>
                </div>    
        </div>   
虽然数组中有一个空项,但我还是找到了一个脏的解决方案。只是做了一个过滤器来清除空项。如果你能改进,我会非常感激

===============================

  let answers = $(el)
      .find('.answer').toArray().map(function(x) {
    return $(x).text().trim().replace(/\s\s+/g,'');
  });

   answerList = answers.filter(Boolean)
 console.log(answerList)
======================================
请参阅跑步:

str_answers=$('label.answer').text()
console.log(str_答案)
arr\u answers=str\u answers.trim().split(/\s+/)
控制台日志(arr_应答)
警报(arr_应答)

选择哺乳动物
青蛙
鸡
树
狗

非常感谢您编辑此问题,Ashish!
JSON

I'm getting:
[
   {
      "question": "Select which is a mammal.",
      "answers": "Frog\n   \n     Chicken\n      \n       Tree \n Dog",
      "correct": "Dog"
   }
]
I was expecting:
[
    {
        "question": "Select which is a mammal.",
        "wrong": "Frog", "Chicken", "Tree", "Dog"
        "correct": "Dog"
    }
]
===============================

  let answers = $(el)
      .find('.answer').toArray().map(function(x) {
    return $(x).text().trim().replace(/\s\s+/g,'');
  });

   answerList = answers.filter(Boolean)
 console.log(answerList)
======================================
str_answers = $('label.answer').text()

arr_answers = str_answers.trim().split(/\s+/)

console.log(arr_answers)