Re: JS数组使用说明
所属分类:PHP工具与代码
  concat:数组连接
[code]var arr=new Array();
var s;
arr[0]="a1";
arr[1]="a2";
arr[2]="a3";
arr[3]="a4";
arr[4]="a5";
arr[5]="a6";
var arr2=["b1","b2","b3"];
var arr3=arr.concat(arr2);
for(i=0;i<arr3.length;i++)
{
document.write(arr3[i]+":");//显示: a1:a2:a3:a4:a5:a6:b1:b2:b3:
}[/code]

使用Map

map1:
[code]<script>

var map = {};

map["张三"] = "1362348754";
map["李四"] = "0351-98476345";
map["王五"] = "0358-4873622";

alert(map["李四"]);
</script>

用map={}就可以把map清空;[/code]

map2:
[code]<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>[/code]

map3:
[code]var map={"姓名":"邢志云","性别":"男","年龄":34}
map.婚否="已婚";//可以动态添加
eval_r("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 已婚
}[/code]

还可以这样
[code]var s="'姓名':'邢志云','性别':'男',35:'年龄'";
eval_r("var map={"+s+"}");
alert(map["姓名"]);[/code]

或者
[code]var s="姓名:'邢志云',性别:'男',35:'年龄'";
eval_r("var map={"+s+"}");
alert(map["姓名"]);[/code]

还可以嵌套
[code]var map=
{
"人员":
{
"张三":"男"
,"赵六":"女"
}
,"车辆":
{
"桑塔纳":"6万"
,"别克":"10万"
}
,"年龄":34
}
alert(map.人员.赵六);//女
alert(map.车辆.桑塔纳);//6万[/code]

使用自定义的属性的数组
[code]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].年龄);[/code]