js数组

Array类型

ECMAScript数组的每一项可以保存任何类型的数据。而且ECMAScript数组的大小时可以动态调整的,即可以随着数据的添加自动增长以容纳新增的数据。

1.数组的创建(当把构造函数作为函数调用,不使用 new 运算符时,它的行为与使用 new 运算符调用它时的行为完全一样。)

创建数组的方式有两种,一是构造函数

即:var arr=new Array();

也可以传递参数,传递的是数值则创建等于该值项数的数组,如果传递的是其他类型的则创建一个包含一项的数组。

var arr=new Array(size);//size为一个自然数值,指定长度,注意不是上限,是长度

var arr new Array("song");

var arr=new Array(element1,elelment2,...elementn);//当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这些值。它的 length 字段也会被设置为参数的个数。

第二种方式是使用数组字面量表示法

var arr=["red","yellow","green"];//创建包含3个字符串的数组

var arr=[];//创建一个空数组

 

2.数组元素的访问

var ele1=arr[1];//获取数组元素的值

arr[1]=123;//给数组元素赋新值

3.数组元素的添加

arr.push([ele1[ele2[...[elen]]]]);//将一个或多个元素添加到数组的结尾,并返回数组的新长度。

arr.unshift([ele1[ele2[...[elen]]]]);//将一个或多个元素添加到数组的开始,并返回数组的新长度。

arr.splice(index,howmany,ele1,ele2);//splice功能强大,可以删除、添加、替换

  index:要删除/添加的开始位置

  howmany:要删除/添加的个数,为0时不删除。

  elen:可选,规定要添加的元素

4.数组的删除

arr.pop();//删除数组的最后一个元素

arr.shift();//栓出数组的第一个元素

arr.splic(index,1);//删除数组下标为index的元素

5.数组的截取和合并

arr.slice(start,[end]);//返回一个数组从start到end(不包括)的新数组。start:必选,可以为负数,当为负数时,从后面数过来。end:可选。

arr.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组 

6.数组的拷贝

arr..slice(0);//返回的时新数组,不是指向

arr.concat();//返回的时新数组,不是指向

7.数组的排序

arr.reverse();//数组的反转。

arr.sort();//数组的排序,返回数组地址

8.数组的字符串化

arr.join(separator);//返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。如:arr=[1,2,3];var str=arr.join(',');str为1,2,3

toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用

9.数组的迭代

  ECMAScript5为数组定义了5个迭代方法。每个方法都接受两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象——影响this的值。传入 这些方法中的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本身。一下介绍5个迭代方法。

  1)every():对数组中的每一项裕兴给定函数,如果函数对每一项都返回true,则返回true。

  2)filter():对数组中的每一项运行给定函数,返回该函数回返回true的项组成的数组。

  3)forEach():对数组中的每一项运行给定的函数。这个方法没有返回值。

  4)map():对数组中的每一项运行给定的函数,返回每次函数调用的结果组成的数组。

  5)some():对数组中的每一项运行给定的函数,如果该函数对任一项返回true,则返回true。

 

posted @ 2015-09-24 23:40  淡然の不淡  阅读(210)  评论(0)    收藏  举报