JavaScript中Map、filter、every、some、fill、findIndex、find、reduce与iOS的map、filter、index、reduce的使用

JavaScript中我看到有意思的一张图。
在这里插入图片描述

用Swift来一套

map对应Swift使用如下

 override func viewDidLoad() {
        super.viewDidLoad()
        //Map的使用
        var array = [1,2,3,4,5]
        let result = array.map {$0 * 2}
        print(result)
        
        let result2 =  array.map { item in
            return item + 10
        }
        print(result2)
        
        var array2 = ["🐮","🐮","🐮","🐮","🐮"]
        let result3 =  array2.map {_ in
            return "🐶"
        }
        print(result3)
        
    }

输出如下

[2, 4, 6, 8, 10]
[11, 12, 13, 14, 15]
["🐶", "🐶", "🐶", "🐶", "🐶"]

过滤器filter的使用

  override func viewDidLoad() {
        super.viewDidLoad()
                let array = ["🐷","🐶","🐶","🐑","🐶"]
        let result = array.filter { str in
            return str == "🐶"
        }
        print(result)
        
        let numberArray = [1,5,2,4,3,6]
        let result2 = numberArray.filter { index in
            return index > 3
        }
        print(result2)
        
        let numberStr = "1234567890"
        let result3 = numberStr.filter { char in
            return true
        }
        print(result3)
        print("----------")
        let result4 = numberStr.filter { char in
            return false
        }
        print(result4)
        print("----------")
        
    }

输出如下:

["🐶", "🐶", "🐶"]
[5, 4, 6]
1234567890
----------

----------

every、some、fill在Swift都没有体现
而对于JavaScipte中的findindex、index 方法对应Swift中也有相应的方法


    override func viewDidLoad() {
        super.viewDidLoad()
        let array = ["第1","第2","第3","第4","第5"]
        let result = array.index(after: 0) // 取后一个Index
        let result2 = array.index(before: 1) // 前一个Index,如果为0 有catch
        let result3 = array.index(2, offsetBy: 2)
        print(array[result])
        print(array[result2])
        print(array[result3])
        print("------")
        let str = "Hello World!"
        print(str[str.index(str.startIndex, offsetBy: 6)])
        print("------")
    }

输出如下:

215
------
W
------

不管在什么语言里reduce,就是做用于做序列元素的累加,如数组元素的累加。
使用如下:

    override func viewDidLoad() {
        super.viewDidLoad()
        let array = [1,2,3,4,5,6]
        let result =  array.reduce( 0) { partialResult, ResultY in
            partialResult + ResultY
        }
        print(result)
    }

输出结果为21

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值