swift - 如何使用 map 函数快速从数组中获取替代索引数据

标签 swift

struct Product {
    let name: String
    let weight: Double
}

let productsList = [Product(name: "AAA", weight: 1),
                    Product(name: "BBB", weight: 2),
                    Product(name: "CCC", weight: 3),
                    Product(name: "DD", weight: 4),
                    Product(name: "RR", weight: 5),
                    Product(name: "EEE", weight: 6),
                    Product(name: "FGT", weight: 7),
                    Product(name: "DSF", weight: 8),
                    Product(name: "VCVX", weight: 9),
                    Product(name: "GFDHT", weight: 10)]

print(productsList.map { $0.name })

我正在从上面的行中获取所有产品名称,但我只想使用 map 从奇数索引中获取名称。可能吗?

最佳答案

这是一种方法:

print(
    productsList
        .enumerated()
        .filter { $0.offset % 2 == 1 }
        .map { $0.element.name }
)

enumerated 方法将每个产品变成一个包含产品及其在数组中的索引 (offset) 的二元组。然后,您可以过滤,只留下索引为奇数(或偶数)的产品。之后,您需要将二元组映射到产品名称。

关于swift - 如何使用 map 函数快速从数组中获取替代索引数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51008034/

相关文章:

swift - 如何将多个 View Controller 链接到同一个导航教程

ios - 使用适用于 iOS 的 Google Places API 声明类型时出错

ios - Swift:使用 snapkit 时如何获得正确的 UICollectionView 高度?

ios - 是否可以下载 swift 文件并将其保存在路径中,并从中呈现 UI。?

ios - Apns代表从未被解雇,为什么我需要关闭网络和wifi

ios - 在 AVMutableVideoComposition 中使用 trackId

ios - pod 更新在 iOS 终端中执行时出现错误

swift - 为什么 Nil 与 swift 4 中预期的参数类型 'UnsafePointer<CGAffineTransform>' 不兼容?

ios - 如何防止源 View Controller 在推送后消失?

ios - 如何在索引处快速添加/删除对象