全部博文(2065)
分类: 系统运维
2010-03-16 22:35:23
Javascript中数组专题整理
[整理人:遥方 整理时间:
一、 创建数组
arrayObj
= new Array() 创建一个数组。
arrayObj
= new Array([size]) 创建一个数组并指定长度,注意不是上限,是长度。
arrayObj
= new Array([element0[, element1[, ...[, elementN]]]]) 创建一个数组并赋值。
arrayObj
= [element0, element1, ..., elementN] 创建一个数组并赋值的简写,注意这里中括号不表示可省略。
要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规 定长度以外的,注意:这时长度会随之改变。
支持多维数组吗?不支持!不过可以将数组的每个元素再定义为数组,以达到多维数组的 目的。
如何访问数组元素?使用“[]”,比如数组名为arr,要访问第一个元素, 就使用arr[0]。
实现类似的多维数组的方法:
array1 = ["a","b","c"];
array2 = [array1,"d"];
alert(array2[0][1]); //返回b
二、
相关数组属性与方法
共有3个属性、13个方法。
3个属性中只有length是比较重要的 ,但比较简单,另外 constructor 与 prototype 属性是 object 共有的且不常用,所以对 Array 属性不作介绍,而对Array的13个方法分组介绍,便于记忆。
三、 删除数组元素
arrayObject.splice(start,
deleteCount, [item1[, item2[, . . . [,itemN]]]])
start 要删除的开始位置(从0开始的位置)
deleteCount
要删除的个数
item1,
item2, . . ., itemN 如果指定此值,可以在删除的位置插入元素。如果插入的是数组,则只取第一个元素。
示例:
array1 = ["a","b","c"];
array1.splice(0,2,"d");
alert(array1); //打印 d,c
表示:从零的位置开始删除两个元素值并且用d 来代替
四、
拷贝数组
有时候需要将一个数组的值赋给另一个。
先看一段代码:
var oArr = new Array("a", "b", "c");
var dArr = oArr;
dArr[0] = "A";
document.write(oArr[0]);
//表示两个数组指向了同一个地址。而并不是拷贝。[数组名即为指针---C语言]
示例:
var oArr = new Array("a", "b", "c");
var dArr = new Array;
dArr = oArr.concat();//concat 将多个数组(也可以是字符串)连接为一个数组
dArr[0] = "A";
document.write(dArr[2]); //c
document.write(oArr[0]); //a
document.write(dArr[0]); //A
//妙用!还可以做一个循环然后再一个一个进行赋值处理
五、 数组里面的length
var oArr = new Array("a", "b", "c");
alert(oArr.length);//3
oArr.length=14;
alert(oArr.length);//14
alert(oArr[13]);//undefined
length对象不仅可以显式的设置,它也有可能被隐式修改。JavaScript中可以使用一个未声明过的变量,同样,也可以使用一个未定义的数组元素 (指索引超过或等于length的元素),这时,length属性的值将被设置为所使用元素索引的值加1
示例:
var oArr = new Array("a", "b", "c");
alert(oArr.length);//3
oArr[10]="14";
alert(oArr.length);//11
即数组的长度是可以动态修改!