Array类型传送门:
声明与属性
添加与删除
数组项操作和位置查找
重排序
迭代与归并
一. 迭代
1.用于判断(返回Boolean类型)
every(函数) 方法: 参数为判断函数,直接对原数组操作,顾名思义,操作每一项都为true,结果才为 true
some(函数) 方法: 同上,不同的是只要某一项返回true,结果就返回true
filter(函数) 方法:根据条件返回数组
var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.every(function(item,index,array){
return(item > 2);
});
alert(everyResult); //false
var someResult = numbers.some(function(item,index,array){
return(item < 2);
});
alert(someResult); //true
var filterResult = numbers.filter(function(item,index,array){
return(item > 2);
});
alert(filterResult); //3,4,5,4,3
2. 用于操作
map(函数) 方法:返回数组
forEach(函数) 方法:没有返回值
var numbers = [1,2,3,4,5,4,3,2,1];
var mapResult = numbers.map(function(item,index,array){
return item * 2;
});
alert(mapResult); //2,4,6,8,10,8,6,4,2
numbers.forEach(function(item,index,array){
return item * 2;
});
二.归并
reduce(函数) 方法:从数组开始遍历到末尾,参数函数接收4个参数:前一个值,当前值,项的索引,数组对象
reduceRight(函数) 方法:同上,区别是从数组末尾向前遍历
var values = [1,2,3,4,5];
var sum = values.reduce(function(prev,cur,index,array){
return prev + cur;
});
alert(sum); //15
var sum2 = values.reduceRight(function(prev,cur,index,array){
return prev + cur;
});
alert(sum2); //15