我目前正在尝试将JSON字符串化对象存储到数组中,因此我可以随时添加新元素:
function GetAllPatients(){
var patient = null;
var patients = [];
patient = { "FirstName": "Stephanie", "Gender": "Female", "Id": "P8401", "LastName": "BARRON", "Title": "Ms", "ConsultantId": "d10", "CurrentWardAdmissionName": "Non Admitted", "DOB": "/Date(1187650800000+0100)/", "HospitalAdmissionDate": "/Date(1294848066000+0000)/", "NHSNumber": "4646399561" };
patient = { "FirstName": "Joan", "Gender": "Female", "Id": "50434619", "LastName": "SMITH", "Title": "Mrs", "ConsultantId": "d1", "CurrentWardAdmissionName": "Non Admitted", "DOB": "/Date(513039600000+0100)/", "HospitalAdmissionDate": "/Date(1332242252817+0000)/", "NHSNumber": "9999999999" };
}
还有一个切换案例getPatientFromStore(pid)函数,它将通过pid检索记录
我将如何实现这一目标? 是否有更多信息需要帮助我更接近解决方案?
基本上,我正在创建一个Web应用程序,它将允许脱机状态下的脱机本地存储,并且还与服务器上的数据库同步。
答案 0 :(得分:3)
您可以使用push
:
例如:
patients.push({
"FirstName": "Stephanie",
"Gender": "Female",
"Id": "P8401",
"LastName": "BARRON",
"Title": "Ms",
"ConsultantId": "d10",
"CurrentWardAdmissionName": "Non Admitted",
"DOB": "/Date(1187650800000+0100)/",
"HospitalAdmissionDate": "/Date(1294848066000+0000)/",
"NHSNumber": "4646399561"
});
就id而不是数组而言,最好使用关联数组,如下所示:
var patients = {};
function addPatient(patient) {
patients[patient.id] = patient;
}
然后在您的方法中,根据患者的身份返回患者,您可以这样做:
function getPatient(id) {
return patients[id];
}
如果您要一直按照他们的身份查找患者,这很有用。
答案 1 :(得分:0)
您还可以使用多个索引来访问同一位患者。
E.g。如果你想使用NHSNumber和id,你可以在addPatients()函数中执行以下操作:
var patients = { };
var nhsNumberMap = { };
function addPatient(patient) {
patients[patient.id] = patient;
nhsNumberMap[patient.NHSNumber] = patient;
}
所以你也可以有另一个功能:
getPatientByNHSNumber(nhsNumber) {
return nhsNumberMap[nhsNumber];
}