函数式编程Map()Reduce()
生活随笔
收集整理的這篇文章主要介紹了
函数式编程Map()Reduce()
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.forEach():每個元素都調(diào)用指定函數(shù),可傳三個參數(shù):數(shù)組元素丶元素索引丶數(shù)組本身丶var a = [1, 2, 3, 4, 5, 6, 7, 8];
a.forEach(function(v,i,a){a[i]=v+1;});
console.log(a); //[2, 3, 4, 5, 6, 7, 8, 9] 2.map():每個元素傳遞給指定函數(shù),并返回該數(shù)組var b = [1, 2, 3, 4, 5, 6, 7, 8];
console.log( b.map(function(x){return x*x}) ); //[1, 4, 9, 16, 25, 36, 49, 64]3.filter():用于篩選數(shù)組里的元素 并返回滿足的子集var c = [1, 2, 3, 4, 5, 6, 7, 8];
console.log( c.filter(function(x){return x>5}) ); //[6, 7, 8]
console.log( c.filter(function(x,i){return i%2==0}) ); //這里返回索引為偶數(shù)的數(shù)組元素4.every(),some():用于判斷(全部/部分)數(shù)組里的元素 并返回boolvar d = [1, 2, 3, 4, 5, 6, 7, 8];
console.log( d.every(function(x){return x>5}) ); //false
console.log( d.some(function(x){return x>5}) ); //true5.reduce():用指定函數(shù)將數(shù)組元素進行組合 生成并返回單個值var e = [1, 2, 3, 4, 5, 6, 7, 8];
console.log( e.reduce(function(x,y){return x+y},0)); //36 這里的0為傳遞給函數(shù)的初始值
/* 這里內(nèi)部運行方法為:0+1=1;1+2=3;3+3=6;6+4=10;10+5=15;15+6=21;21+7=28;28+8=36;
*/
使用函數(shù)處理數(shù)組:/*1.計算平均值和標(biāo)準(zhǔn)差 */
var sumFun = function(x,y){return x+y};
var squFun = function(x){return x};var f = [1, 2, 3, 4, 5, 6, 7, 8];
var avergae = f.reduce(sumFun)/f.length;
console.log("平均值為:"+avergae); //4.5
var devitation = f.map(function(x){return x-avergae})
console.log("平均值差數(shù)組:"+devitation); //-3.5,-2.5,-1.5,-0.5,0.5,1.5,2.5,3.5
高階函數(shù):后面的還沒看…待續(xù)…
?
轉(zhuǎn)載于:https://www.cnblogs.com/nemoro1928/p/5377224.html
總結(jié)
以上是生活随笔為你收集整理的函数式编程Map()Reduce()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 20145204 《Java程序设计》第
- 下一篇: 串口小记