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 != ""
})
}