2

我目前正在尝试将 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" };

}

还有一个 switch case getPatientFromStore(pid) 函数,它将通过 pid 检索记录

我将如何实现这一目标?我需要更多信息来帮助我更接近解决方案吗?

基本上,我正在创建一个 Web 应用程序,它允许在断开连接状态下进行离线本地存储,并与服务器上的数据库同步。

4

2 回答 2

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;
}

然后在给定患者 ID 的返回患者的方法中,您可以执行以下操作:

function getPatient(id) {
    return patients[id];
}

如果您要一直通过他们的 id 查找患者,这将非常有用。

于 2012-10-03T15:48:55.333 回答
0

您还可以使用多个索引来访问同一患者。

例如,如果您想使用 NHSNumber 和 id,您可以在 addPatients() 函数中执行以下操作:

var patients = { };
var nhsNumberMap = { };
function addPatient(patient) {
    patients[patient.id] = patient;
    nhsNumberMap[patient.NHSNumber] = patient;
}

所以你也可以有另一个功能:

getPatientByNHSNumber(nhsNumber) {
    return nhsNumberMap[nhsNumber];
}
于 2012-10-03T21:38:47.670 回答