我有一个现有的具有此结构的多维关联数组。它有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