我有一個現有的具有此結構的多維關聯數組。它有3個元素。每個子陣列都有3個元素。如何附加到JS關聯數組
{"id":"723419","lat":33.217,"lon":-92.817,"dist":1437.15733534053},
{"id":"723424","lat":33.567,"lon":-91.717,"dist":1902.4556686060116},
{"id":"722447","lat":32.383,"lon":-94.717,"dist":2317.6870313059217},
我想創建與3個元素通過陣列另一個(TEMP)陣列,並且循環,從而增加每個子陣列的元件,使得每個子陣列將有4個要素:
{"id":"723419","lat":33.217,"lon":-92.817,"dist":1437.15733534053,"elev":abc},
{"id":"723424","lat":33.567,"lon":-91.717,"dist":1902.4556686060116,"elev":def},
{"id":"722447","lat":32.383,"lon":-94.717,"dist":2317.6870313059217,"elev":ghi},
迄今,我已經通過我的臨時陣列
for (var i in tempArray) { //loop through locations returned with elevation data
multiArray[i]['elev']=...
}
試圖循環,把它作爲一個對象(即使我聲明瞭多陣列爲Array()
for (var i in tempArray) { //loop through locations returned with elevation data
multiArray.i.append(elev)=...
}
兩種方式,JS抱怨multiArray[i]
不存在。從我對JS的瞭解,這應該起作用。
感謝您的幫助
您正在循環tempArray,但嘗試訪問multiArray。您的清單是這樣的: - [{「id」:「723419」,「lat」:33.217,「lon」: - 92.817,「dist」:1437.15733534053}, {「id」:「723424」, 「lat」:33.567,「lon」: - 91.717,「dist」:1902.4556686060116}, {「id」:「722447」,「lat」:32.383,「lon」: - 94.717,「dist」:2317.6870313059217} ?對於數組,使用簡單的for循環而不是for循環。 for循環最適合不是數組的對象。 – pvnarula
JavaScript不是PHP。不要使用'for .. in'在JavaScript中循環訪問數組,這是錯誤的事情(而不是使用從'i = 0'到'array.length'的常規'for'循環)。此外,這些是*對象*,而不是關聯數組。不管你使用'Array()'還是'[]'聲明它都沒有任何技術上的差異,但你應該總是使用'[]'。 – Tomalak