数组方法:
- map ---------- 映射 一个对一个
- reduce ---------- 汇总归纳 一堆出来一个
- filter ---------- 过滤器 保留为true的
- forEach ---------- 迭代(循环)
- map
- 在
map( fuction( item ) { } )
传入处理方法,item
为循环时,每个映射项
let arr=[1,3,4,5,6];
let res=arr.map(function(item){
return item*2;
})
alert(res);
输出:2,6,8,10,12
使用 map
判断及格(箭头函数):
let arr=[1,3,4,5,6];
let res=arr.map(
item=>item>=3?'及格':'不及格
// function(item){
// return item>=3?'及格':'不及格'
// }
);
- reduce
这里可能涉及 this
所属问题,建议函数内部使用箭头函数
let arr=[1,1,1,1,1,1];
let res=arr.reduce(function(tmp,item,index){
// tmp 上一次结果,item 当前项 ,index 下标(从1开始)
return tmp+item;
});
console.log(res);
输出总和:6
- filter 以 true
和false
判断是否过滤
使用filter 筛选能被3整除数:
// 筛选出能被3整出的
let arr=[3,23,12,434,6,15,9]
let res=arr.filter(item=>{
if(item%3==0){
return true;
}else{
return false;
}
})
alert(res); 得到输出:3,12,6,15,9
以上代码可箭头函数简写:
let res=arr.filter(item=>item%3==0)
- forEach
var arr = [12, 4, 8, 9]
var result = arr.forEach(item => console.log(item))
var result = arr.forEach((item, index)=>console.log(item, index))
网友评论