本文实例讲述了js数组常见操作及数组与字符串相互转化方法。分享给大家供大家参考,具体如下:
数组与字符串的相互转化
rush:js;">
多维数组
数组赋值
可以像上边那样简单的依次赋值,也可以像下边的这样:
rush:js;">
也可以直接赋值成多维数组
rush:js;">
push:数据可以向最后的追加元素
rush:js;">
var arr=new Array()
arr[0]="xbc1";
arr[1]="bcx2";
arr[2]="cctv3";
arr[3]="xctv4";
arr.push("邢志云");//向最后追加,也可以同时push多个
arr.push("0123");
for(i=0;i
pop:弹出最后一个元素,后进先出
rush:js;">
var arr=new Array();
var s;
arr[0]="a1";
arr[1]="a2";
arr[2]="a3";
arr[3]="a4";
s=arr.pop();//弹出最后一个元素,把值付给s,并删除最后一个元素
alert(s);
for(i=0;i显示: a1 a2 a3
unshift:插入到第一个之前,
rush:js;">
var arr=new Array();
var s;
arr[0]="a1";
arr[1]="a2";
arr[2]="a3";
arr[3]="a4";
arr.unshift("第一","第二");//插到第一个元素之前,后面的整体后移
for(i=0;i显示: 第一:第二:a1:a2:a3:a4:
shift:弹出第一个元素,先进先出
rush:js;">
var arr=new Array();
var s;
arr[0]="a1";
arr[1]="a2";
arr[2]="a3";
arr[3]="a4";
s=arr.shift();//弹出第一个元素,并删除第一个元素
alert(s);
for(i=0;i显示: a2 a3 a4
数组的join(string val)可以将数组元素连接起来,并且用中间插入val,当在网页上交互显示下拉框内容的时候可以将内容加载到数组内,再利用innerHTML将内容显示在出来
rush:js;">
显示:
cctv sxtv tytv xzy
用这种方式连接字符串要比 s=s+”ddd”快的多
sort:数组排序 (从小到大)
rush:js;">
var arr=new Array(1000)
arr[0]="xbc1";
arr[1]="bcx2";
arr[2]="cctv3";
arr[5]="xctv4";
arr.sort();
for(i=0;i
reverse:数组反向,和sort配合使用能实现从大到小排序
rush:js;">
var arr=new Array()
arr[0]="a1";
arr[1]="a2";
arr[2]="a3";
arr[3]="a4";
arr.push("邢志云");
arr.push("0123");
//arr.sort();
arr.reverse();//数组反向排列
for(i=0;i显示: 0123 邢志云 a4 a3 a2 a1
slice:数组截断后赋值给另外一个数组(不改变原始数组)
rush:js;">
var xzy1=new Array();
xzy1=["a","c","hello","usa","eng"];
// 0 1 2 3 4 5
var xzy2=xzy1.slice(2,4);//从数组xzy1的2号元素开始到4号元素停止的值结束转成一个数组
for(var i=0;i显示c hello
}
也可以这么写
rush:js;">
splice:数组截断或清空(改变原始数组)
rush:js;">
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=arr.splice(3,"x1","x2");//从3号开始的2个元素,用x1和x2替换,并把替换下的值重新赋给数组arr2
//如果没有参数"x1","x2",则对应的2个元素会从arr中删除,后面的前推
for(i=0;i显示: a1:a2:a3:x1:x2:a6:
}
document.write("
"); for(i=0;i显示: a4:a5:
}
"); for(i=0;i
利用splice来清空数组
rush:js;">
var arr=new Array();
arr[0]="a1";
arr[1]="a2";
arr[2]="a3";
arr[3]="a4";
arr[4]="a5";
arr[5]="a6";
alert(arr.length);//显示6
arr.splice(0,100000000);//可以理解为把arr数组清空,又回到初始状态
alert(arr.length);//显示0
concat:数组连接
rush:js;">
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显示: a1:a2:a3:a4:a5:a6:b1:b2:b3:
}
使用Map
map1:
rush:js;">
用map={}就可以把map清空;
map2:
rush:js;">
map3:
rush:js;">
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 已婚
}
还可以这样
rush:js;">
var s="'姓名':'邢志云','性别':'男',35:'年龄'";
eval("var map={"+s+"}");
alert(map["姓名"]);
或者
rush:js;">
var s="姓名:'邢志云',性别:'男',35:'年龄'";
eval("var map={"+s+"}");
alert(map["姓名"]);
还可以嵌套
rush:js;">
var map={"人员":{"张三":"男","赵六":"女"},"车辆":{"桑塔纳":"6万","别克":"10万"},"年龄":34}
alert(map.人员.赵六);//女
alert(map.车辆.桑塔纳);//6万
rush:js;">
var a=new Array();
a[0]={};
a[0].姓名="邢志云";
a[0].年龄=32;
a[1]={};
a[1].姓名="李四";
a[1].年龄=28;
for(var i=0;i
希望本文所述对大家JavaScript程序设计有所帮助。