我有一個問題需要獲取數組中的對象。 在我的情況下,我有一個帶有對象和ID的JSON文件。我想通過查找它的ID來獲得對象。所以我想要得到Objekt(101和103)作進一步的計算。 (在C++中它將是一個映射,然後迭代直到找到101並返回。)在Javascript中,我得到了該錯誤: 「TypeError:region [i] [103]未定義」。我不知道什麼是錯的。還是有更好的方法來通過它的ID獲得一個對象?獲取數組中的對象
這裏是一個代碼示例:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<title>Unbenanntes Dokument</title>
</head>
<body>
<div id="results"></div>
<script>
var region = [
{
"101": {
"id":101,
"name":"Eisenstadt(Stadt)",
"pop":13485,
"lat":47.845876,
"lng":16.518073,
"FIELD6":"",
"FIELD7":"" }
},
{
"102": {
"id":102,
"name":"Rust(Stadt)",
"pop":1942,
"lat":47.803858,
"lng":16.686788,
"FIELD6":"",
"FIELD7":"" }
},
{
"103": {
"id":103,
"name":"Eisenstadt-Umgebung",
"pop":41474,
"lat":47.85458,
"lng":16.576139,
"FIELD6":"",
"FIELD7":"" }
}
]
function foo(region)
{
for(i=0; i<region.length;i++)
{
document.getElementById("results").innerHTML = region[i]["101"]["name"] + " // " + region[i]["103"]["name"];
}
}
foo(region);
</script>
</body>
</html>
你可以改變'regions'的結構? 'var「= {」101「:{」name「:...,」pop「:...},」102「:{」name「 :...,「pop」...}'您可以將'foo()'壓縮到'document.getElementById(「results」)。innerHTML = regions [「101」] [「name」] +「//」 +地區[「103」] [「名稱」];' – Andreas 2015-02-05 20:18:00
oke謝謝你很好的解決方案,如果你有在該結構的數據! – Manuel 2015-02-05 20:33:07
okey我明白了:) – Manuel 2015-02-05 21:56:12