网站地图    收藏   

主页 > 前端 > javascript >

Javascript 数组用法入门教程

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 数组是javascript中一个重要的数据存储类型,下面我来总结一下在js中数组创建,定义,删除及数组长度的修改实例。...

定义数组

 代码如下 复制代码

var a = new Array("a", "b", "c");
 
方法1.

var mycars=new Array()
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]="BMW"

方法2.

定义和初始化一起:

 代码如下 复制代码

var mycars=new Array("Saab","Volvo","BMW")

或者另一种写法:

 代码如下 复制代码

var mycars=["Saab","Volvo","BMW"];


循环读取

 代码如下 复制代码

for (i = 0; i < a.length; i++) {//循环读取
                document.write(i + ":" + a[i] + "<br />");
}

document.write("toString():" + a.toString() + "<br />");//toString(),以字符串表示数组
            document.write("join():" + a.join("") + "<br />");//join(),以join后的字符串参数作为间隔符,生成一个字符串,如果是参数是半角逗号,则效果与toString()相同
            document.write("reverse():" + a.reverse().toString() + "<br />");//reverse().把数组内元素倒序生成新的数组
            document.write("valueOf():" + a.valueOf() + "<br />");//valueOf(),输出数组的值


//二维数组

 代码如下 复制代码
            var b = new Array(3);//定义长度为3的数组
            b[0] = new Array("a", 1);
            b[1] = new Array("b", 2);
            b[2] = new Array("c", 3);
            for (i = 0; i < b.length; i++) {//循环输出每一维的每个元素
                for (j = 0; j < b[i].length; j++) {
                    document.write("b[" + i + "][" + j + "]:" + b[i][j] + "<br />");
                }
            }

数组长度:

javascript的数组不需要设定长度,会自己进行扩展,数组名.length返回元素个数


下面是演示改变length属性的例子:

 代码如下 复制代码

var arr=[12,23,5,3,25,98,76,54,56,76];
//定义了一个包含10个数字的数组
alert(arr.length);  //显示数组的长度10
arr.length=12;   //增大数组的长度
alert(arr.length);  //显示数组的长度已经变为12

alert(arr[8]);   //显示第9个元素的值,为56
arr.length=5;   //将数组的长度减少到5,索引等于或超过5的元素被丢弃
alert(arr[8]);   //显示第9个元素已经变为"undefined"
arr.length=10;   //将数组长度恢复为10
alert(arr[8]);   //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"

由上面的代码我们可以清楚的看到length属性的性质。但length对象不仅可以显式的设置,它也有可能被隐式修改。javascript中可以使用一个未声明过的变量,同样,也可以使用一个未定义的数组元素(指索引超过或等于length的元素),这时,length属性的值将被设置为所使用元素索引的值加1。例如下面的代码:

 

 代码如下 复制代码
var arr=[12,23,5,3,25,98,76,54,56,76];
alert(arr.length);
arr[15]=34;
alert(arr.length);

代码中同样是先定义了一个包含10个数字的数组,通过alert语句可以看出其长度为10。随后使用了索引为15的元素,将其赋值为15,即arr[15]=34,这时再用alert语句输出数组的长度,得到的是16。无论如何,对于习惯于强类型编程的开发人员来说,这是一个很令人惊讶的特性。事实上,使用new Array()形式创建的数组,其初始长度就是为0,正是对其中未定义元素的操作,才使数组的长度发生变化。
由上面的介绍可以看到,length属性是如此的神奇,利用它可以方便的增加或者减少数组的容量。因此对length属性的深入了解,有助于在开发过程中灵活运用。

附留言:
supNate:没有具体例子,窃以为了解了length属性,就理解了javascript中的数组。而数组是完成很多例子的基础。因为和其他语言区别比较大,所以单独讲一下。例如实现低版本浏览器不支持的数组的pop方法:

 代码如下 复制代码
Array.prototype.pop=function(){
if(0==this.length)return;
var temp=this[this.length-1];
this.length--;
return temp;
}

这样数组就能作为栈使用了。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论