1. 创建数组
2. 数组的长度
lenght是数组的一个属性,用来描述数组的元素个数即数组长度,如 a.lenght。
3. 数组的操作
数组元素的添加和删除
1. 在数组的头部添加和删除元素 shift()删除数组头部元素 unshift()增加元素到数组的头部 。这种方法会改变数组的索引值,如果数组头部删除一个元素,则数组后面元素索引值减一,如,删除a[0]元素,则原来的a[1]成为现在的a[0]
2. 在数组内部删除元素delete a[5],删除数组的第五个元素, 但是此方法不改变数组的索引。数组将成为稀疏数组。
3. 在数组的尾部删除或添加元素 push()添加元素至数组尾部,pop()删除数组尾部的元素
遍历数组
1. for循环 for(var i=0;i<arr.leght;i++){...}
2. for/in for(var i in arr){....} i为数组的索引
3. foreach() arr.foreach(function(x){...}) x为数组内的元素,在遍历时分别为arr[0]到arr[arr.lenght]的元素。
4. 数组方法
jion(),将数组元素转化为字符串并链接在一起,返回最后生成的字符串。
reserve(),将数组元素颠倒顺序,返回逆序的数组。
sort(),将数组中的元素排序,返回排序的数组
concat(), var arr = [1,2,3].concat([4,5],[6,7]),则数组arr为[1,2,3,4,5,6,7],concat()链接数组并返回合并后的数组,但不改变原数组。
slice(),返回指定数组的一个片段或子数组。它的两个参数分别指定了片段的开始和结束位置,返回的数组包括,第一个参数指定的位置,到但不包括第二个参数指定的位置。如果只有一个参数则返回从指定位置到结束的片段,如果参数为负数,表示位置从数组的后面定位。
splice(),从数组中删除元素,插入元素,或同时完成这两项操作,第一个参数指定了插入或删除的起始位置,第二个参数指定了要删除的元素的个数,如果省略则表示从起始位置删除到末尾,随后的任意参数指定了要插入到数组的元素。splice()返回一个由删除元素组成的数组,如果没有删除任何元素,则返回空。例,a=[1,2,3,4,5,6];var b = a.splice(2,2,[7,8],9);则b=[3,4],a=[1,2,[7,8],9,5,6]
toString与toLocalString(),该方法将数组元素转化为字符转,并返回用逗号分隔的字符串列表,输出方法不包括方括号,或其他任何形式包裹的数值的分隔符。例['a','b','c'].toString()返回’a,b,c‘,[1,[2,'c'],'d'].toString()返回’1,2,c,d‘。这里与不是用人和参数的jion()方法是一样的。
5. ECMAScript5中包含的方法
map(),将调用数组的每个元素传递给指定的函数,并返回一个数组,它包含该函数的返回值。
例,a=[1,2,3];
b=a.map(function(x){return x*x};) //b是[1,4,9]
filter(),返回的数组元素是调用的的数组的一个子集。
例,a=[5,4,3,2,1]
b = a.filter(function(x){ return x<3; }); 则b=[2,1]
indexOf(),lastIndexOf(),搜索整个数组中,具有给定值的元素,返回找到的第一个元素的索引,或者没有找到则返回-1,indexOf()从头找到尾,lastIndexOf()则反向搜索。
6. 数组类型
isArray(),用来检测是否为数组,返回true或false。
[] instanceof Array ->true instanceof也是用来判断是否数组