数组方法
push()
pop()
shift()
unshift()
var a = [1,2,3]
a.reverse() // 翻转
alert(a) //3,2,1
var b = [1,3,2,0]
b.sort() // 0,1,2,3 比较
b.sort(function(v1,v2){
return v2-v1;
})
//3,2,1,0
var arr = arr1.concat(arr2) // 连接
arr.slice(1,3) //切片,下标1,2
arr.splice(0,1) //从下表0开始,删除1项
arr.splice(1,2,'yellow','gray') //从下标1开始,删除两项,添加yellow,gray两项
var num = [1,2,3,4,5,6,7,8,9,0];
alert(num.indexOf(4)) // 3 查询,如果没有则返回-1
//lastIndexOf() 和 indexOf()区别,lastIndexOf()从末尾开始寻找,indexOf()才能够数组头部开始寻找
数组迭代方法
every()
//对数组中的每一项运行指定函数,如果每一项都返回true,那么结果为true
var arr =[1,2,3] ;
var res = arr.every(function(item,index,array){
return item > 0;
})
alert(res) // true
filter()
//对于数组的每一项运行指定函数,最终返回结果为true的元素组成的数组
var num = [1,2,3,4,5,6,7,8];
var res = num.filter(function(item,index,array){
return item >= 3;
})
alert(res) //3,4,5,6,7,8
forEach()
//对每一项运行函数,无返回值
[1,2,3].forEach(function(item,index,array){
alert(item);
})
//1,2,3
map()
//对于每一项运行函数,返回值组成新的函数
[1,2,3].map(function(item,index,array){
return item*item;
})
//1,4,9
some()
//对于每一项运行函数,如果任意一项为true,则结果为true;
数组归并方法
//ES5添加了reduce()和reduceRight()
//前者从第一项开始,后者从最后一项开始
var arr = [1,2,3,4,5];
var sum = arr.reduce(function(prev,cur,index,array){
//prev为前一项的返回值,cur为当前项
return prev+cur;
})
alert(15) // 15