15、使用Map
map1:
<script>
var map = {};
map["张三"] = "1362348754";
map["李四"] = "0351-98476345";
map["王五"] = "0358-4873622";
alert(map["李四"]);
</script>
用map={}就可以把map清空;
map2:
<script>
var map = new Array();
map["张三"] = "1362348754";
map["李四"] = "0351-98476345";
map["王五"] = "0358-4873622";
alert(map["李四"]);//显示:0351-98476345
alert(map.length);//这里map.length显示为0
map[0] = "0358-4873622";
map[1] = "0358-4873622";
map[2] = "0358-4873622";
alert(map.length);//这里map.length显示为3
for(var i=0;i<map.length;i++)
{
document.write(map[i]);
}
alert(map["李四"]);//显示:0351-98476345
</script>
map3:
var map={"姓名":"邢志云","性别":"男","年龄":34}
map.婚否="已婚";//可以动态添加
eval("map.国籍='中华'");//但map.后面的标识符只能是以字符开头的,并且不能有-所以全球标识符不宜用在这里
alert(map.国籍);
//alert(map.姓名);//邢志云
//alert(map.年龄);//34
map["民族"]="汉族";//也可以像第一条中那样赋值,但这种可以用任意串做键,如: map["1-2"]="汉族";alert(map.姓名+":"+map["1-2"]);//也能正常显示
alert(map.姓名+":"+map.民族);
for(var colname in map)
{
alert(colname );//姓名 性别 年龄 婚否
}
for(var colname in map)
{
alert(map[colname]);//邢志云 男 34 已婚
}
还可以这样
var s="'姓名':'邢志云','性别':'男',35:'年龄'";
eval("var map={"+s+"}");
alert(map["姓名"]);
或者
var s="姓名:'邢志云',性别:'男',35:'年龄'";
eval("var map={"+s+"}");
alert(map["姓名"]);
还可以嵌套
var map=
{
"人员":
{
"张三":"男"
,"赵六":"女"
}
,"车辆":
{
"桑塔纳":"6万"
,"别克":"10万"
}
,"年龄":34
}
alert(map.人员.赵六);//女
alert(map.车辆.桑塔纳);//6万
使用自定义的属性的数组
var a=new Array();
a[0]={};
a[0].姓名="邢志云";
a[0].年龄=32;
a[1]={};
a[1].姓名="李四";
a[1].年龄=28;
for(var i=0;i<a.length;i++)
{
alert(a[i].姓名+":"+a[i].年龄);
}