js常用高阶函数(filter,map,reduce...)

let nums = [10,30,50,100,110,300];

1.filter(fn)

功能:过滤器,fn为函数,返回一个true/false,当为true时保留数组内数值,反之则剔除

目的:筛选100以内

let nums1 = nums.filter(function(n){return n < 100; });

let nums1 = nums.filter(n => n<100)

结果[10,30,50]

3.map(fn)

功能:对数组每一个成员开展fn,返回数组

目的:数组数值双倍

let nums3 = nums.map(function(n){ return n*2; });

let nums3 = nums.map(n => n*10);

结果[100,300,500,1000,1100,3000]

case:获取positions的高程,positions 为一组cartographic数组: var heightArray = positions.map(d=>d.height);

4.reduce(fn(a,b){},初始值)

功能:类似递归,a为初始值代入,其值返回一个数值c,再次代入fn(a,b),最后得到结果

目的:数组和

let nums4 = nums.reduce(function (pre,n) {

   return n + pre;  

},100);

let nums4 = nums.reduce((m,n) => m+n,100);

结果600

原文地址:https://www.cnblogs.com/xiaoguniang0204/p/12292348.html