Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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_Jquery_Multidimensional Array_Underscore.js_Nested Lists - Fatal编程技术网

Javascript 返回带有筛选子数组的父对象

Javascript 返回带有筛选子数组的父对象,javascript,jquery,multidimensional-array,underscore.js,nested-lists,Javascript,Jquery,Multidimensional Array,Underscore.js,Nested Lists,样本数据: { "QuestionId": 2, "QuestionName": "Question2", "QuestionTypeId": 2, "QuestionTypeName": "CheckBoxList", "Choices": [{ "ChoiceId": 7, "ChoiceName": "Choice1", "Answer": "7" },

样本数据:

{
    "QuestionId": 2,
    "QuestionName": "Question2",
    "QuestionTypeId": 2,
    "QuestionTypeName": "CheckBoxList",
    "Choices": [{
            "ChoiceId": 7,
            "ChoiceName": "Choice1",
            "Answer": "7"
        },
        {
            "ChoiceId": 8,
            "ChoiceName": "Choice2",
            "Answer": ""
        },
        {
            "ChoiceId": 9,
            "ChoiceName": "Choice3",
            "Answer": ""
        },
        {
            "ChoiceId": 10,
            "ChoiceName": "Choice4",
            "Answer": "10"
        }
    ]
}

基于示例数据,如何通过使用下划线或任何更好的javascript方法保持相同结构的过滤选项返回此结果?根据Choice.Answer筛选选项。答案必须有一个值。

如果您想筛选出带有空白答案的选项,请使用
数组。筛选器
-我还假设您的上述数据结构在一个数组(一个问题数组)中

//在每个问题上循环
对于(var i=0;i
您的解决方案现在是我的解决方案的一部分。非常感谢。
//Loop over each question
for (var i = 0; i < questions.length; i++) {
    //For each question, filter the "Choices" array to not include empty Answers
    questions[i].Choices = questions[i].Choices.filter(function(choice) {
        return choice.Answer != ""
    })
}