创建数组
构造函数Array创建数组
var a=new Array();
var a=new Array(10);
var a=new Array(1,2,3,'z','h');
数组直接量创建数组
var a=[1,2,3,'z','h'];
数组元素的读和写
a[i] i为数组下标,从0开始,且小于2的32次幂-1。如果使用的数字太大,或者使用了负数、浮点数,JS会将它转换为一个字符串,用生成的
字符串作为对象属性的名字,而不是作为数组下标。
为数组添加元素
数组长度
所有数组都有length属性,该属性会自动更新,该属性常用语遍历数组
a[i]!=undefined可用来检测数组元素是否存在
数组的length属性同时可写,若值大于数组长度,则数组将会自动补齐,如小于数组长度,则自动将数组阶段,这是唯一截取数组的方式,使
用delete删除元素,只是将元素定义为undefined,长度并没有改变。
数组方法
join(separator)
将数组用separator分割为字符串,默认为','
reverse()
返回元素位置颠倒的数组(并不是创建了新数组)
sort()
在原数组上进行排序,若没有参数,则按照字母顺序进行排序,若数组还有为定义元素,为定义元素将被放在数组末尾。
如果要将数组按别的顺序排序,必须传递一个函数,该函数确定它的2个参数的前后位置:如果第一个参数应该在前,那么比较函数将返回一个
小于0的数;第二个参数在前,将返回一个大于0的数;如果2个参数相等,返回0.
concat()
该方法能创建并返回一个将参数附加到原数组尾部的新数组,若参数也是一个数组,则将该数组元素展开附加的新数组中,但concat()不能
递归地展开一个元素为数组的数组
var a=[1,2,3];
a.concat(4,5);//返回[1,2,3,4,5]
a.concat([4,5])//返回[1,2,3,4,5]
a.concat([4,5],[6,7])//返回[1,2,3,4,5,6,7]
a.concat(4,[5,[6,7]])//返回[1,2,3,4,5,[6,7]]
slice(start,length)
返回指定数组的一个片段(并不创建新数组).如果length未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
splice() 该方法将修改原数组
arrayObject.splice(index,length,element1,.....,elementX)
index:指定要插入或删除元素在数组中的位置;length:删除的长度;elementn为将要插入数组中的元素
var a=[1,2,3,4,5,6,7,8];
a.splice(4); //返回[5,6,7,8]; a是[1,2,3,4]
a.splice(1,2) //返回[2,3];a是[1,4]
a.splice(1,1) //返回[4];a是[1]
var a=[1,2,3,4,5,6]
a.splice(2,0,'a','b') //返回[];a是[1,2,'a','b',3,4,5,6]
push()和pop() 这2个方法都将修改原数组
push()可以将一个或多个新元素附加到数组尾部,然后返回数组的新长度
pop()将删除数组中的最后一个元素,减少数组的长度,返回它删除的值
unshift()和shift()
与push()和pop()类似,只不过这2个方法在数组头操作