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

由上面的介绍可以看到,length属性是如此的神奇,利用它可以方便的增加或者减少数组的容量。因此对length属性的深入了解,有助于在开发过程中灵活运用。

2、prototype 属性

返回对象类型原型的引用。prototype 属性是 object 共有的。

objectName.prototype

objectName 参数是object对象的名称。

说明:用 prototype 属性提供对象的类的一组基本功能。 对象的新实例“继承”赋予该对象原型的操作。

对于数组对象,以以下例子说明prototype 属性的用途。

给数组对象添加返回数组中最大元素值的方法。要完成这一点,声明一个函数,将它加入 Array.prototype, 并使用它。

function array_max( ) { var i, max = this[0]; for (i = 1; i < this.length; i++) { if (max < this[i]) max = this[i]; } return max; } Array.prototype.max = array_max; var x = new Array(1, 2, 3, 4, 5, 6); var y = x.max( );

该代码执行后,y 保存数组 x 中的最大值,或说 6。

3、constructor 属性

表示创建对象的函数。

object.constructor //object是对象或函数的名称。

说明:constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。

例如:

x = new String("Hi"); if (x.constructor == String) // 进行处理(条件为真)。

function MyFunc { // 函数体。 } y = new MyFunc; if (y.constructor == MyFunc) // 进行处理(条件为真)。

对于数组来说:

y = new Array();

具体使用:

使用数组

基本操作

<script> var a=new Array("cctv","sxtv","tytv"); var a=new Array(3); var a=new Array(); a[0]="cctv"; a[1]="sxtv"; a[2]="tytv"; a[3]="xzy"; for(i=0;i<a.length;i++) document.writeln(a[i]); </script>  多维数组 <script> var rows= new Array(); rows[0]=new Array(5); rows[1]=new Array(5); rows[0][0]="你好"; rows[0][1]="邢志云"; if(rows[0][0]!=null) { alert(rows[0][0]); } </script>

数组赋值

可以像上边那样简单的依次赋值,也可以像下边的这样:

<script> var xzy=new Array(); xzy=[1,2,3,4,5,"邢志云","嘿嘿"];//给数组xzy赋值 for(var i=0;i<xzy.length;i++) { alert(xzy[i]); } </script>

也可以直接赋值成多维数组

<script> var s=["你好",["中国","太原","邢志云"],[3,3333],[4,4444],[5,5555],["0",["a","b","c"]],"cc"]; // 0 1 2 3 4 5 6 // 10 11 12 20 21 30 31 40 41 alert(s);//你好,中国,太原,邢志云,3,3333,4,4444,5,5555 alert(s[1]);//中国,太原,邢志云 alert(s[1][2]);//邢志云 alert(s[2][0]);//3 alert(s[2][1]);//3333 alert(s[5][1][0]);//a alert(s[5][1][2]);//c alert(s[6]);//cc </script>

push:数据可以向最后的追加元素

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<arr.length;i++) { if(arr[i]!=null) document.writeln(arr[i]); }

pop:弹出最后一个元素,后进先出

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<arr.length;i++) { document.writeln(arr[i]); } //显示: a1 a2 a3

unshift:插入到第一个之前,

var arr=new Array(); var s; arr[0]="a1"; arr[1]="a2"; arr[2]="a3"; arr[3]="a4"; arr.unshift("第一","第二");//插到第一个元素之前,后面的整体后移 for(i=0;i<arr.length;i++) { document.write(arr[i]+":"); } //显示: 第一:第二:a1:a2:a3:a4:

shift:弹出第一个元素,先进先出

var arr=new Array(); var s; arr[0]="a1"; arr[1]="a2"; arr[2]="a3"; arr[3]="a4"; s=arr.shift();//弹出第一个元素,把值付给s,并删除第一个元素 alert(s); for(i=0;i<arr.length;i++) { document.writeln(arr[i]); } //显示: a2 a3 a4

join:利用数组的join方法,连接所有的数组内容

数组的join(string val)可以将数组元素连接起来,并且用中间插入val,当在网页上交互显示下拉框内容的时候可以将内容加载到数组内,再利用innerHTML将内容显示在出来

<script> var a=new Array("cctv","sxtv","tytv"); var a=new Array(3); var a=new Array(); a[0]="cctv"; a[1]="sxtv"; a[2]="tytv"; a[3]="xzy"; document.writeln(a.join('<br>'));//如果直接用a.join(),则默认会用,分割 </script>

显示:

cctv
sxtv
tytv
xzy

用这种方式连接字符串要比 s=s+”ddd”快的多

sort:数组排序 (从小到大)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgzxfy.html