получение всех значений в строке

#javascript

#javascript

Вопрос:

 var patientInfo = {}   
patientInfo.patientID = row.patientID;
patientInfo.firstName = row.firstName;
patientInfo.lastName = row.lastName;
patientInfo.dateOfBirth = row.DateOfBirth;
patientInfo.age = row.age;
patientInfo.gender = row.gender;
  

Когда я печатаю I patientInfo , я получаю данные только одной строки… как я могу получить все данные строки?

Комментарии:

1. вы имеете в виду, что вы получаете только одну строку из них или вы получаете все эти данные, объединенные в одну строку?

Ответ №1:

Не совсем уверен, что вы имеете в виду. Но предполагая, что вы используете этот код в цикле, вы всегда перезаписываете patientInfo данные. Добавьте их в массив:

 infos = []

for(.....) {
    var patientInfo = {}   
    patientInfo.patientID = row.patientID;
    patientInfo.firstName = row.firstName;
    patientInfo.lastName = row.lastName;
    patientInfo.dateOfBirth = row.DateOfBirth;
    patientInfo.age = row.age;
    patientInfo.gender = row.gender;

    infos.push(patientInfo)
}
  

Было бы неплохо узнать, откуда здесь row берется. Может быть, вы могли бы просто сделать:

 infos = []

for(.....) {
    infos.push(row)
}
  

или, может быть, вам вообще не нужно этого делать. Вы должны предоставить больше информации.

Дополнительная информация => лучшие ответы.

Ответ №2:

Для перебора свойств объекта используйте for in .

 for (var property in patientInfo) {
   alert(property);
}
  

Однако имейте в виду, что если кто-то расширил Object , его перечислимые свойства также будут повторены.

Вы можете смягчить это с помощью hasOwnProperty() .

 for (var property in patientInfo) {
   if ( ! patientInfo.hasOwnProperty(property)) {
       continue;
   }
   alert(property);
}
  

В качестве альтернативы вы могли бы указать свой собственный toString() метод, который форматирует значения так, как вы хотите. Обязательно возвращайте строку.