数组的每一项可以保存任何数据类型 new Array()一个参数代表长度,两个及以上参数代表数组元素
方法:
1.push(item)可添加多个逗号隔开
2.pop()。无参。删除最后一个,返回删除掉的元素
3.unshift(item);前面加一个,返回变化后的数组的长度。可添加多个,逗号分隔
4.shift()。删除第一个,返回删除的元素
5.splice()。拼接
①arr.splice(开始下标,长度);删除,返回删除的。
②arr.splice(开始下标); 删除,返回删除的。
③arr.splice(开始下标,0,'aa');添加,在开始下标位置
④arr.splice(开始下标,1,'aa')替换
6.reverse() 倒叙
7.sort() 排序
需要传递一个函数作为参数
arr.sort(function(a,b){
return a-b;
})
复制代码
以上方法改变数组
以下方法不改变数组,生成新数组
8.concat(值)合并,能加数组也能加元素
9.slice(开始下标,结束下标)切片。查找包括开始下标不包括结束下标
只有开始下标,表示从开始一直到结束
负值表示倒数。
例子:var arr=[1,2,3,4,5]; arr.slice(-3); 结果[3,4,5];
复制代码
10.indexOf(item); 查找元素所在的下标,找不到,返回-1
11.toString() 数组转字符串,逗号分隔
12.join()转字符串,用指定分隔符
13.valueOf() 返回数组本身
ECMAScript5中的数组方法
1.forEach()
var arr=[1,2,3,4];
var sum=0;
var res=arr.forEach(function(v,i,a){
sum+=v;
})
复制代码
2.map() 对数组中的每一项进行操作,并把操作的结果放到新的数组中
var arr1=arr.map(function(x){
return x*3;
})
console.log(arr1); //[1,6,9,12]
复制代码
3.filter() 用来筛选数组中所有符合条件的元素,并把处理结果放到一个新数组中,(如果没有返回值,新数组中的每一项都是undefined)
var arr2=['电视','音响','耳机','收音机'];
var arr3=arr2.filter(function(x){
return new RegExp('机').test(x);
})
console.log(arr3); //['耳机','收音机']
复制代码
4.find() 用来返回数组中符合条件的第一个元素。
5.every some 返回true/false
var arr2=['电视','音响','耳机','收音机'];
var flag=arr2.every(function(x){
return x.length<3;
})
console.log(flag); //false
复制代码
var flag2=arr2.some(function(x){
return x.length<3;
})
console.log(flag2); //true
复制代码
6.reduce reduceRight
var arr=[1,2,3,4];
var res=arr.reduce(function(x,y){
if(x>y){
return x;
}else{
return y;
}
}) //res=4;
从左到右,取大的,再和下一个比较,取大的。
var arr4=[2,2,4];
var res2 = arr4.reduceRight(function(x,y){
return Math.pow(x,y);
}) //256
复制代码