zoukankan      html  css  js  c++  java
  • 13 高阶函数map,filter

    高阶函数
    什么是高阶函数:
    		简单的说,函数A的参数或返回值是函数,这个函数A是高阶函数
    		
    为什么要用高阶函数:
        只是让我们知道有这个概念:参数和返回值都可以是函数,
    	日常使用时不用去关注是不是高阶函数,只要熟悉几个函数就可以
    
    	map
    		接收函数用来处理数组
    		var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    		results = arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81]
    	reduce
    		Array的reduce()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个参数,reduce()把结果继续和序列的下一个元素做累积计算
    		[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4)
    		
    	filter
     		接收函数用来处理数组
    		var arr = [1, 2, 4, 5, 6, 9, 10, 15];
    		var r = arr.filter(function (x) {
    			return x % 2 !== 0;
    		});
    		r; // [1, 5, 9, 15]
    		
    		利用filter,可以巧妙地去除Array的重复元素
    			var
    				r,
    				arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
    				r = arr.filter(function (element, index, self) {
    				return self.indexOf(element) === index;//indexof()总是取出现的第一个索引,如果第一个索引和elment当前索引相等,说明elment是第一次出现,如果是第二次出现,那么elemet第一次出现的索引和element当前索引是不想等的
    			});
    

      

  • 相关阅读:
    UML 基础: 组件图
    如何绘制 UML 活动图
    JVM简介
    【转】Adapter 模式
    用例建模技巧
    【转】JVM内存模型以及垃圾回收
    从UML到BPEL
    用例建模指南
    关于 Assigned
    符号和基本语法
  • 原文地址:https://www.cnblogs.com/xuanjian-91/p/10260514.html
Copyright © 2011-2022 走看看