微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

js数组常见操作及数组与字符串相互转化实例详解

本文实例讲述了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:利用数组的join方法,连接所有的数组内容

数组的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: }

利用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程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐