gpt4 book ai didi

arrays - 如何将 [AnyObject?] 转换为 [AnyObject]

转载 作者:搜寻专家 更新时间:2023-11-01 05:59:26 26 4
gpt4 key购买 nike

我需要做一些简单的事情,比如将 [AnyObject?] 转换为 [AnyObject]。所以数组中的可选值应该被解包,如果为 nil 则被踢出数组。在 Swift 中有一种简单的方法可以做到这一点吗?

最佳答案

您可以分两步完成:

  • 过滤数组以包含所有不为 nil 的值
  • 通过将每个可选的转换为非可选的来映射结果数组

代码:

let arrayOfOptionals: [AnyObject?] = [1, 2, nil, 3, nil, 4]

let arrayOfNonOptionals: [AnyObject?] = arrayOfOptionals.filter( { $0 != nil} )

let finalArray: [AnyObject] = arrayOfNonOptionals.map( { $0! } )

当然你可以将 filter 和 map 组合成一个语句:

let finalArray = arrayOfOptionals.filter( { $0 != nil} ).map( { $0! } )

关于arrays - 如何将 [AnyObject?] 转换为 [AnyObject],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26297539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com