【发布时间】:2018-03-27 10:19:39
【问题描述】:
我建议我的上级使用下面代码中的 hashmap 来匹配数据。我确信下面代码的复杂度是 O(n*n),我认为使用散列可以是线性的。你们中的任何人都可以验证我是否正确吗?假设存在Patients = 100000,fhirPatients = 10000,beds = 10000 和部门 = 5000
let filteredPatients = new Array();
presencePatient.forEach( patient => {
let fhir = fhirPatient.find((fhir)=>{
return ( fhir.pid === patient.id);
});
let beds = bedsInHospital.find( (bed) => {
return (bed.id === patient.bedId);
});
let deparmtment = departmentsInHospital.find( (deparmtment) => {
return (deparmtment.id === patient.icuId);
});
let obj = {
name : patient.name,
dob : patient.dateOfBirth,
gender : patient.gender,
email : patient.emailId,
maritialStatus : patient.maritialStatus,
mrn : patient.mrn,
contact : patient.phoneNumber,
bed : beds.name,
deparmtment : deparmtment.name
};
filteredPatients.push(obj);
});
【问题讨论】:
-
你建议的代码是什么?
-
很大程度上取决于数据。在某些情况下,设置某种查找的开销可能是不可取的。我敢打赌,除非你在一个巨大的数据集上运行它,否则它并不重要。另外,为什么不使用
map() -
代码审查应该发布在codereview.stackexchange.com - 这就是你的问题会被很多人否决的原因(不是我 - 我不是在抨击新手)。
-
@Hexodus OP 成为会员一年多了,现在应该知道规则了 - 不是菜鸟,但如果你问一个版本是否比另一个更好,你应该发布两个版本吗?
-
@Pete 你是对的,但我严格按照他的名声来判断......
标签: javascript arrays algorithm