如何在多个数组上检查键值对并使用javascript进行过滤?

如何在多个数组上检查键值对并使用javascript进行过滤?,javascript,arrays,Javascript,Arrays,我试图通过键值对过滤数据。我需要能够检查一个键值对是否跨多个数组存在 我有一些工作代码来计算包含键值对的对象的数量,但是当有多个数组时会遇到问题 风险值数据=[{ 姓:约翰逊, 身份证号码:2222, 专业:[{ 专业:心脏病学, 对,, 第一:对 }, { 专业:儿科, 对,, 第一:对 } ], }, { 姓氏:汉密尔顿, 身份证号码:2332, 专业:[{ 专业:儿科, 对,, 第一:对 }, ], } ] var专科=儿科; var filtered=data.filterfuncti

我试图通过键值对过滤数据。我需要能够检查一个键值对是否跨多个数组存在

我有一些工作代码来计算包含键值对的对象的数量,但是当有多个数组时会遇到问题

风险值数据=[{ 姓:约翰逊, 身份证号码:2222, 专业:[{ 专业:心脏病学, 对,, 第一:对 }, { 专业:儿科, 对,, 第一:对 } ], }, { 姓氏:汉密尔顿, 身份证号码:2332, 专业:[{ 专业:儿科, 对,, 第一:对 }, ], } ] var专科=儿科; var filtered=data.filterfunctionitem{ 退货项目.专业[0].专业==专业; };
console.logfiltered.length 如果您确定它在每个分组中只出现一次,则可以修改过滤功能:

var filtered = data.filter(function(item){
     return item.specialties.some(item => item.Specialty === specialty);
)};
或具有两个箭头功能:

var filtered = data.filter(item => 
      item.specialties.some(item =>
         item.Specialty === specialty)
   )