2011-04-13 39 views
0
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; 

在我打印我patientInfo,我只得到一個行的數據...我怎樣才能得到所有行的數據?讓所有值的行

+1

你的意思是你只得到其中一行,或者你將所有這些數據連接在一行中? – Bastardo 2011-04-13 06:41:04

+0

我只得到一行。 – theJava 2011-04-13 07:01:28

+0

:S?老兄....? – Bastardo 2011-04-13 07:28:22

回答

2

不太清楚你的意思。但假設你將這段代碼放在一個循環中,你總是覆蓋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) 
} 

或者你可能不需要這樣做。你必須提供更多信息。

更多信息=>更好的答案。

+0

+1爲好的答案和非常有用的最後一句話:) – alex 2011-04-13 11:14:25

1

要迭代對象中的屬性,請使用for in

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

請記住,但是,如果有人增強Object,其枚舉的屬性將在太重複。

您可以通過使用hasOwnProperty()來減輕這一點。

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

或者,你可以指定你自己toString()方法,但是格式化你想要的值。一定要返回一個字符串。