1.数组的创建
方式一:var arr = new Array([size]); //size可选(一般不需要,因为数组的长度是可变的)
var arr = new Array(1,2,3);
方式二:var arr = []; //较常用,
var arr = [1,2,3];
2.数组元素的获取和改变
var value = arr[index];
arr[index] = value;
3.数组元素的添加
arr.push(Array); //添加数组尾,返回数组的新长度
arr.unshift(Array); //添加数组头,返回数组的新长度
arr.splice(insertPos,0,Array); //添加数组指定的位置,返回数组的新长度
4.数组元素的删除
arr.pop(); //删除最后一个元素,并返回该元素
arr.shift(); //删除第一个元素,并返回该元素
arr.splice(deletePos,count); //从指定位置删除count个元素,并以数组形式返回删除元素
arr.splice(deletePos,count,Array); //从指定位置删除count个元素,并从该位置起加入Array元素,并以数组形式返回删除元素
5.数组元素的截取和合并
arr.slice(start,[end]); //以数组的形式返回原数组的一部分,end可以省略,省略end=arr.length,得到的数组不包含end下标的元素(含头不含尾)
arr.concate(Array); //将数组合并,后面的数组添加到原数组的尾,返回新数组
6.数组元素的复制
arr.slice(0); //返回的是新数组
arr.concate(); //返回的是新数组
7.数组元素的排序
arr.reverse(); //返回新数组
arr.sort(Function); //返回新数组
8.数组元素的字符串化
arr.join(separator); //以字符串separator形式将数组中的元素连在一起
9.数组的遍历
方式一:for(var i,len = arr.length; i<len; i++){}
方式二: for(i in arr){}
ECMAScript5新增加的函数
forEach
arr.forEach(function(value,index,a){/*操作*/}); //数组中的每一个元素都会调用forEach方法;参数value:数组的元素,index:数组的下标,a:该数组,其中index和a可以省略。
举例:arr.forEach(function(value,index,a){a[index] = value+1;}); //arr1得到原数组中元素加1的元素
map
arr.map(function(value,index,a){/*操作*/}); //map函数的使用和forEach一样,不过传递给map的函数应该有返回值,调用该函数将返回一个新数组
举例:var arr2 = arr.map(function(value){return value+1;}); //arr2得到原数组中元素加1的元素
filter
arr.filter(function(value,index,a){/*操作*/}); //filter函数的使用和forEach一样,不过传递给filter的函数应该有返回值,调用该函数将返回一个过滤后的新数组
举例:var arr2 = arr.filter(function(value){return value<5;}); //arr2得到原数组中元素小于5的元素
every
arr.every(function(value,index,a){/*操作*/}); //every函数的使用和forEach一样,不过传递给every的函数应该有返回值,调用该函数将返回一个boolean值
举例:var boo = arr.every(function(value){return value<5;}); //如果arr中每个元素都小于5,则boo为true否false
some
arr.some(function(value,index,a){/*操作*/}); //some函数的使用和forEach一样,不过传递给some的函数应该有返回值,调用该函数将返回一个boolean值
举例:var boo = arr.some(function(value){return value<5;}); //如果arr中存在元素小于5,则boo为true否false
reduce
arr.reduce(function(preValue,curValue,index,a){/*操作*/},initialValue); //reduce函数有两个参数,第二个参数可选,第二个值作为初始化值,第一次调用时赋值给preValue。如果省略preValue默认为数组的第一个值。传入的函数参数有四个参数,后两个可以省略。第一个参数preValue表示上一个值,第二个参数curValue表示当前值。
举例:var sum= arr.reduce(function(x,y){return x+y;}); //求数组的和
reduceRight
用法和reduce一样,是从右向左计算
indexOf
arr.indexOf(value) //判断value元素在数组的第一次出现的下标
lastIndexOf
arr.lastindexOf(value) //判断value元素在数组最后一次出现的下标