var data = [
{
"Name": "鸟瞰1",
"id": "1",
"x": "-15.7304939843579",
"y": "-193.351530865896",
"z": "172.79275048241"
},
{
"Name": "鸟瞰2",
"id": "2",
"x": "-15.7304939843579",
"y": "-193.351530865896",
"z": "172.79275048241"
},
{
"Name": "鸟瞰3",
"id": "3",
"x": "-15.7304939843579",
"y": "-193.351530865896",
"z": "172.79275048241"
}
];
一段json,怎么根据id获取其他属性。如:根据id:2,获取其对应的NAME、x、y、zjsonjavascriptjs
if(data[i].id=="2"){
alert(data[i].Name+"----"+data[i].x+"----"+data[i].y+"----"+data[i].z);
}
}
data[1]= {
"Name": "鸟瞰2",
"id": "2",
"x": "-15.7304939843579",
"y": "-193.351530865896",
"z": "172.79275048241"
}so
+1
for( i = 0; i < data.length; i++ )
newData[ data[ i ].id ] = data[ i ];
newData[ '1' ];
<!doctype html>
<html lang='zh_CN'>
<head>
<meta charset='utf-8' />
<title>程序升级中...</title>
<script type="text/javascript">
var data = [
{
"Name": "鸟瞰1",
"id": "1",
"x": "-15.7304939843579",
"y": "-193.351530865896",
"z": "172.79275048241"
},
{
"Name": "鸟瞰2",
"id": "2",
"x": "-15.7304939843579",
"y": "-193.351530865896",
"z": "172.79275048241"
},
{
"Name": "鸟瞰3",
"id": "3",
"x": "-15.7304939843579",
"y": "-193.351530865896",
"z": "172.79275048241"
}
];
function get_by_id(id,data){
for(var i=0;len=data.length,i<len;i++){
if(data[i].id==id)
return data[i];
}
return false;
}
console.log(get_by_id(3,data).Name);
//输出鸟瞰3
</script>
</head>
<body>
<h2 style='text-align:center;'>程序升级中,请稍后访问...</h2>
</body>
</html>
for( i = 0; i < data.length; i++ )
newData[ data[ i ].id ] = data[ i ];
newData[ '1' ].Name;4楼的那个少个Name。如果数据量比较大,使用的次数比较多的话这样效率应该能高一点,不过我不敢确定。
但是如果可以的话可以换个json结构
如
var data={
"1":{"name":"鸟瞰1", "x": "-15.7304939843579","y": "-193.351530865896","z": "172.79275048241"},
"2"::{"name":"鸟瞰2", "x": "-15.7304939843579","y": "-193.351530865896","z": "172.79275048241"}
}
那么可以通过键获取值啦
var item=data["2"];
name=items.name;//“鸟瞰2”