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/