1.Array几大内置对象之一
2. 数组可以存任意类型的值,定义方式如下
构造函数:new Array(值的个数或者值);
字面量:var arr=[值1,…,值n];
- arguements参数与实际的值对应
- 更改arr.length可以删除元素,如var arr=[1,2,3,4],arr.length=3,则删除了最后一个元素
- 赋值会改变数组的长度,长度为下标加1,还是上面那个数组,arr[45]=23,则arr.length=46
- push(item1,…,itemn),在元素结尾添加一个或者多个元素,返回添加元素后的长度
- unshift(item1,…,itemn),在元素开头添加一个或者多元素,返回添加元素后的长度
- pop(),删除末尾的元素,返回被删除的那个元素
- shift(),删除开头的元素,返回被删除的那个元素
- join(分隔符),不写分隔符,默认为逗号,返回字符串
- reverse(),反转数组中的元素
- sort(function),没写参数时采用字符串大小排序,若要升序或者降序,加上function
- arr.concat(arr1,arr2,…,arrn),连接两个或者多个数组
- arr.slice(start,end),end<0,start<0,start=arr.length+start;end=arr.length+end;取出数组某些项
- arr.splice(index,count),从索引为index的元素开始,删除count个元素,返回被删除元素的数组,原数组被修改
arr.splice(index,0,item1,item2,…,itemn),从索引为index的元素开始,删除0个元素,并以index为起始值插入元素,返回空数组,修改的是原数组
arr.splice(index,count,item1,…,itemn),从index位置开始,删除替换元素,返回从原数组中删除的项。
ES5新增
: - indexOf(value,index),从数组中开头查找的value的位置,若找到,返回索引,没有找到,则返回-1,index可选
- lastIndexOf(value,index),与indexOf()一样,从数组末尾开始向前查找
比较值时,必须用全等 - 类数组对象转为数组对象Array.prototype.slice,call(NodelistObject)
删除元素
:Array Array Object.shift(),删除第一个元素
Array ArrayObject.pop(),删除最后一个元素,
Array ArrayObject.splice(index,count),从索引为index的元素开始,删除count个元素,返回被删除元素的数组,原数组被修改
Array ArrayObject.slice(start),截取字符,有时候也可以用它删除,例如删除第一个元素号的数组,arr.slice(1);
修改arr.length,若arr=[42,3,5,9]
,arr.length=3,则相当于删除了最后一个元素
添加元素
:Array Array Object.unshift(值1,值2,…,值n),添加元素到开头
Array Array Object.push(值1,值2,…,值n),添加元素到末尾
Array ArrayObject.splice(index,0,值1,值2,…,值n),从索引为index的元素开始,删除0个元素,并以index为起始值插入元素,返回空数组,修改的是原数组
替换
:ArrayObject.splice(index,count,item1,item2,item3),从index开始,删除count个元素,然后其位置上 替换为item的值
返回从原数组中删除的项。