函数式编程

Array的常见操作

var arr = [1, 2, 3, 4].png

[图片上传中...(var arr = [1, 2, 3, 4].png-f3939c-1635750768836-0)]

等价:


var arr = [1, 2, 3, 4].png
[1, 2, 3, 4].png
1mport Foundation.png
(1, 2.png

等价:

![var arr = 1, 2, 3 4J.png

也是等价的

var arr = [1, 2, 3, 4].png
3 Var arr = [123,test, jack, -30].png
var arr.png

Map 与 compactMap的区别是

compactMap 会把解包失败的值,去掉

使用reduce实现map、 filter的功能.png
1使用reduce实现map、fi1ter的功能.png

Lazy的优化

let arr = [1, 2, 3].png

按顺序运行

import Foundatilon.png

按获取的顺序去加载数组中的元素

减少了耗时

import Foundation.png

Optional的map和flatMap

var num1 Int = 10.png

如果可选项有值,那么解包后走逻辑,在包装起来
如果为nil,那么会直接返回nil,不会走闭包里面的逻辑

0ptional(20).png

flatMap相比map多一步解包操作

var num1 Int = 10.png

Map相比3目运算更加简便

= vax fmt = DateFormatter().png

等价的

vax fmt.png
vax score Int a 98.png

简化很多代码

struet Person.png

函数式编程

函数式编程是一种编程范式,也就是如何编写程序的方法论
主要思想:把计算过程尽量分解成一系列可复用函数的调用
主要特征:函数是 “第一等公民”
函数与其他数据类型一样的地位,可以赋值给其他变量,也可以作为函数参数,函数返回值

函数式编程最早出现在LISP语言,绝大部分的现代编程语言也对函数式变成做了不同程度的支持

old 写法.png

使用函数式编程,将动作编程一个函数,多个函数连接起来组成一个功能,大大的增加了可读性,
但是目前来看,需要在更多的场景去实践,才能实际运用

柯里化

柯里化.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一. Array常用的内置函数 1. map 遍历数组中的元素,传入到后面的闭包里面,闭包的返回值组成新的数组,最...
    Imkata阅读 5,556评论 0 2
  • Swift语言是支持函数式编程的,所以我们需要简单了解一下函数式编程的概念. 在了解函数式编程的概念之前呢,先看看...
    小心韩国人阅读 4,095评论 0 0
  • Array的常见操作 arr.map() : 遍历数组每一个元素, 每遍历一个元素调用一次闭包,将元素传入闭包,闭...
    codeTao阅读 1,950评论 1 1
  • 一、函数式编程学习前的基础知识 1.1、Array 的常见操作map:映射的意思,它把数据进行循环,每次循环都会走...
    IIronMan阅读 3,073评论 0 3
  • 楔子 问题:给定一个数组,找出里面所有的偶数 最先想到的方法是遍历数组,找出所有的偶数 如果用函数式编程,可以用如...
    NapoleonY阅读 2,784评论 0 0

友情链接更多精彩内容