Javascript 使用lodash检查数组元素是否包含另一个数组元素的子字符串

Javascript 使用lodash检查数组元素是否包含另一个数组元素的子字符串,javascript,lodash,Javascript,Lodash,我有两个数组,我需要使用lodash检查数组元素是否包含另一个数组元素的子字符串。下面是一个例子 let array1 = ['CARDIOLOGY CHF INTERN2 ADMIT PRIMARY TEAM\r\r\nCARDIOMYOPATHY CONSULT', CARDIOLOGY CHF INTERN2 ADMIT PRIMARY TEAM\r\r\PALLIATIVE CARE HEARTPAL CONSULT\r\r\PSYCHIATRY CONSU

我有两个数组,我需要使用lodash检查数组元素是否包含另一个数组元素的子字符串。下面是一个例子

let array1 = ['CARDIOLOGY CHF INTERN2 ADMIT PRIMARY TEAM\r\r\nCARDIOMYOPATHY CONSULT',
               CARDIOLOGY CHF INTERN2 ADMIT PRIMARY TEAM\r\r\PALLIATIVE CARE HEARTPAL CONSULT\r\r\PSYCHIATRY CONSULT A\r\r\nCARDIOMYOPATHY CONSULT'];

let array2 = [
        'CARDIOLOGY B1 INTERN1 ADMIT PRIMARY TEAM',
        'CARDIOLOGY B1 INTERN2 ADMIT PRIMARY TEAM',
        'CARDIOLOGY B2 INTERN1 ADMIT PRIMARY TEAM',
        'CARDIOLOGY B2 INTERN2 ADMIT PRIMARY TEAM',
        'CARDIOLOGY B3 INTERN1 ADMIT PRIMARY TEAM',
        'CARDIOLOGY B3 INTERN2 ADMIT PRIMARY TEAM',
        'CARDIOLOGY CHF INTERN1 ADMIT PRIMARY TEAM',
        'CARDIOLOGY CHF INTERN2 ADMIT PRIMARY TEAM']; 
所以这里我想检查array2中的元素“CARDIOLOGY B1 INTERN1 Receipt PRIMARY TEAM”是否存在于array1的任何元素中,如果存在,我们想将其存储在新的数组中

目前,我已经做了类似的事情来检查一个字符串

_.some(patientLocations, (el) => _.includes('CARDIOLOGY CHF INTERN2 ADMIT PRIMARY TEAM\r\r\nCARDIOMYOPATHY CONSULT', el));

以下是您的解决方案(未使用lodash,但欢迎您使用lodash替换常规函数-结果相同):

让array1=[“心脏病学CHF INTERN2接纳初级团队\r\r\n心脏病学咨询”,
“心脏病学CHF INTERN2入院初级团队\r\r\姑息治疗心脏病咨询\r\r\n精神病学咨询\r\n心脏病咨询”];
设array2=[
“心脏病学B1实习生1接纳初级团队”,
“心脏病B1实习生2接纳初级团队”,
“心脏病学B2实习生1接纳初级团队”,
“心脏病B2实习生2接纳初级团队”,
“心脏病学B3实习生1接纳初级团队”,
“心脏病B3实习生2接纳初级团队”,
“心脏病学CHF实习生1承认初级团队”,
“心脏病学CHF实习生2承认初级团队”];
array2.forEach(subStr=>{
const found=array1.some(array1Value=>array1Value.indexOf(subStr)>-1);
如果(找到){
log(`array1`中找到了“${subStr}”)
}否则{
log(`array1`中未找到“${subStr}”)
}  

});不确定lodash,但这应该在纯JavaScript中实现

array2.filter(patientLocation => !!array1.find(element => element.includes(patientLocation)))