swift - 如何使用 map 函数快速从数组中获取替代索引数据
问题描述
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
方法将每个产品转换为一个 2 元组,其中包含产品及其在数组 ( offset
) 中的索引。然后,您filter
只留下具有奇数(或偶数)索引的产品。之后,您需要将 2 元组映射到产品名称。
推荐阅读
- python - 从 Melissa 数据库中提取数据
- javascript - 正则表达式无法正确评估破折号字符
- vue.js - 删除 vue.js 应用程序中的数组对象,它还会更新存储的值
- java - JVM 为其堆分配多少物理内存?
- windows - 到命令提示符的 Python 输出(并且根本没有)停止工作
- java - 如何防止在不一致的状态下读取坐标?
- laravel - 数据库 ID 与 Laravel api 不同
- mysql - MySQL-无法更新视图,即使它显示为可更新
- typescript - 如何将数据从一维数组转换为二维对象数组并更改一些元素?
- javascript - 按一个对象属性的长度对对象数组进行排序