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