创建Array对象,有3中语法格式:
var arr1=new Array ();//空数组,元素为默认值0
//var arr1=new Array [];作用同上,下同
var arr2=new Array (n);//有n个元素的数组,值不确定
var arr3=new Array (elemnt0,element1,element2, ... ... elementnt N-1);/*有N个元素的数组,值为elemnt0,element1,element2, ... ... elementnt N-1*/
※因为JavaScript是弱类型语言,他同一个数组里的元素可以是不同类型的,这与其他语言不同:
var arr0=new Array(2 , false , "hello");
操作数组元素
1.访问数组
可以用for循环,while循环来访问数组的元素:
var arr=new Array();
for (var i=0; i<10; i++)
{
Arr[i] = 2*i+1 ;
}
for ( i in arr)
{
document.write(arr[i] + " ") ;
}
也可以直接访问数组元素:
var arr=new Array("audi","bmw","benz","toyota","honda");
var mycar=arr[0];
2.添加和修改数组元素
JavaScript能够按需分配内存,根据操作动态做出调整,自动更新数组,从而动态的管理数组。
var arr1=new Array();
arr1[0] = "benz";
arr1[1] = "audi";
arr1[1] =true;
下面来修改数组
var arr2 = arr1;
arr2[1] = "TOYOTA";
alert(arr2);//弹出警告窗口,上面显示“benz,TOYOTA,true”
3.删除元素
使用delete操作符删除数组元素,如下:
delete arr[1];
此操作是按索引值删除元素,但数组的长度不会改变,被删除的元素处被undefined值代替。因为删除了元素并没有释放此元素所占用的内存,JavaScript解释器的内部垃圾回收机制会自动释放内存。
**数组
JavaScript本身只支持一维数组,但是没明确指出对**数组的支持,但多数JavaScript解释器都可以支持**数组,**数组也就是数组中的数组。
属性
Array对象有3个属性
属 性 |
含 义 |
constructor |
引用数组对象的的构成函数,不常用 |
prototype |
用于在定义数组时添加新的属性和方法,不常用 |
length |
返回数组元素的个数 |
Array对象的方法
方 法 |
含 义 |
concat(item1,item2,...itemN) |
将两个或两个以上的数组合并为一个新的数组,从左到右连接item1,item2,...itemN |
join(separator) |
使用指定的分隔符将数组元素一次拼接起来,形成字符串 |
push(item1,item2,...,itemN) |
相当于数据结构里面的入栈操作,在数组的末尾增加一个或者多个数组元素,并返回增加元素后的数组长度 |
reverse() |
返回一个元素顺序被反转的Array对象 |
shift() |
相当于数据结构中的出队操作,移除数组中的第一个元素并返回该元素,同时数组长度减少1 |
unshift(item1,item2,...,itemN) |
将指定的元素插入数组开始位置并返回该数组,同时数组长度增加1,相当于数据结构中的入队操作 |
slice(start,end) |
从现有的数组中提取指定个数的数据元素,形成一个新的数组。从下标start开始,到end结束,但不包括end;省略end时表示到数组末尾;end为负数,如-3,表示倒数第3个元素 |
sort(sortfunction) |
返回一个元素已经进行了排序的Array对象。Sortfunction可选,省略时按字母顺序或汉字的拼音方式排序,否则按sortfunction方式排序。Sortfunction为排序函数的名称,此函数有两个参数,返回一个整数值;当第一个参数>第二个参数,返回大于零的值;当第一个参数<第二个参数,返回小于零的值;当两个参数相等时,返回等于零的值 |
splice(start,deleteCount,[item1,item2,...,itemN]) |
从一个数组中移除一个或者多个元素,若有必要,在移除处插入新元素,并返回所移除的元素。start为必选项,移除元素的开始位置,从0开始计数。deleteCount为必选项,表示删除元素的个数;item1,item2,...,itemN必选项,表示在删除位置添加新的元素 |
toLocaleString() |
用于将日期型对象转换为一个string对象,这个对象中包含了用当前区域设置的默认格式表示的日期 |
toString() |
返回数组的字符串表示 |
valueOf() |
返回数组的原始值,即将数组的元素转换为字符串,这些元素用逗号隔开,连在一个,此操作与toString()和jion()方法相同 |
pop() |
移除数组中的最后一个元素并返回该元素,同时数组的长度减1,相当于数据结构里的出栈操作 |