Javascript es6-2级别中对象的筛选器数组

Javascript es6-2级别中对象的筛选器数组,javascript,ecmascript-6,Javascript,Ecmascript 6,我有一个类似于下面的JSON [{ “id”:“1300001993”, “标题”:“最受欢迎”, “答案”:[{ “id”:“1300038079”, “标题”:“价格”, }, { “id”:“1300033122”, “标题”:“注册”, } ] }, { “id”:“13000000675”, “标题”:“支持问题”, “答案”:[{ “id”:“1300003646”, “标题”:“管理员聊天”, }, { “id”:“1300033122”, “标题”:“注册”, } ] }, {

我有一个类似于下面的JSON

[{
“id”:“1300001993”,
“标题”:“最受欢迎”,
“答案”:[{
“id”:“1300038079”,
“标题”:“价格”,
},
{
“id”:“1300033122”,
“标题”:“注册”,
}
]
},
{
“id”:“13000000675”,
“标题”:“支持问题”,
“答案”:[{
“id”:“1300003646”,
“标题”:“管理员聊天”,
},
{
“id”:“1300033122”,
“标题”:“注册”,
}
]
},
{
“id”:“130000005675”,
“标题”:“交付”,
“答案”:[{
“id”:“1300003646”,
“标题”:“成本”,
}]
}

]
因为输入和输出数组不是一对一的,而且因为您需要返回更改的对象而不是原始对象,所以您可能应该使用
reduce
一次性完成:

const findTitle='注册';
const input=[{“id”:“13000001993”,“title”:“Most Popular”,“answers”:[{“id”:“13000038079”,“title”:“Price”,},{“id”:“13000033122”,“title”:“Enrollment”,},},{“id”:“1300000675”,“title”:“Support Questions”,“answers”:[{“id”:“1300000346”,“title”:“ADMIN Chat”,},{“id”:“13000033122”,“title”:“Enrollment”,},},},{“id”:“Delivery”,“ans[{“id:”1300003646“,”标题“:”成本“,}]}]
console.log(
输入.减少((a,obj)=>{
常量answers=obj.answers.filter(({title})=>title==findTitle);
如果(answers.length>0)a.push({…obj,answers});
返回a;
}, [])

)
您可以使用此功能在问题数组中搜索
答案

var data=[{“id”:“13000001993”,“title”:“最受欢迎”,“答案”:[{“id”:“1300038079”,“title”:“Price”,},{“id”:“1300033122”,“title”:“Enrollment”,}}},{“id”:“1300000675”,“title”:“Support Questions”,“answers”:[{“id”:“1300003646”,“title”:“ADMIN Chat”,},{“id”:“130000033122”,“title”:“Enrollment”,},},},{“id”:“Delivery”;“title”:“Delivery”答案“:[{“id”:“1300003646”,“标题”:“成本”}]]
功能searchByAnswer(搜索键){
var serach_result=null;
data.forEach((问题)=>{
var finded_answer=null;
if(question.answers&&question.answers.length){
查找答案=问题。答案。查找((答案)=>{
返回答案.title.match(搜索键)!==null;
});
如果(找到答案)
搜索结果=找到的答案;
}
});
返回搜索结果;

}
请将您的代码放在这里。您尝试了什么?函数是空的。。。