js中数组的高阶函数用法map,filter,reduce,forEach,some,every

数组的高级函数用法(函数式编程)

<1> forEach 遍历每一项 会改变原数组

<2> map 会基于原数组产生新数组 //返回一个新数组,不改变原数组

<3> filter 会基于原数组产生新数组(过滤掉不满足条件的数组项) 返回一个新数组,不改变原数组

<4> reduce 会将多项值合成一个,加法,乘法

<5> some 判断数组中是否有满足条件的值(只要数组中有一项值满足就停止遍历并返回true) //if

<6> every 判断数组中所有是否都满足条件的值(只要数组中有一项值不满足就停止遍历并返回false) //if

<7> (es6) for of

<8> (es6) Object.assign()

<9> (es6) JSON.stringify() 和 JSON.parse()

var arr=[1,2,3,4,5]
arr.forEach((item,index)=>{
  console.log(item,index,arr);
  // arr[index]++
})
var newArr=arr.map((item,index)=>{
  return item*2
})
console.log('newArr',newArr);
var filterArr=arr.filter((item,index)=>{
  return item>3
})
console.log('filterArr',filterArr);
var sum=arr.reduce((sum,current,currentindex,array)=>{
console.log(sum,current,currentindex,array);
return sum+current
},10)
var sum2=arr.reduceRight((sum,current,currentindex,array)=>{
console.log(sum,current,currentindex,array);
return sum+current
},10)
console.log('sum',sum);
var someArr=arr.some((item,index)=>{
  return item>6 //类似于||运算,有一个成立就成立
})
console.log('someArr',someArr);

var everyArr=arr.every((item,index)=>{
  return item>0  //类似于&&运算,有一个不成立就不成立
})
console.log('everyArr',everyArr);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值