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从奇数索引中获取名称。有可能吗?
您可以将奇数索引映射到相应的产品名称:
let oddIndexedProducts = stride(from: 1, through: productsList.count, by: 2)
.map { productsList[$0].name }
print(oddIndexedProducts) // ["BBB", "DD", "EEE", "DSF", "GFDHT"]
另一种方法是在枚举()序列上使用compactMap:
let oddIndexedProducts = productsList.enumerated().compactMap {
$0.offset % 2 == 1 ? $0.element.name : nil
}
根据经验:“过滤器映射=压缩映射”(“Swift 3中的flatMap”)。
这里有一种方法:
print(
productsList
.enumerated()
.filter { $0.offset % 2 == 1 }
.map { $0.element.name }
)
枚举
方法将每个产品转换为一个2元组,其中包含产品及其数组中的索引(偏移
)。然后过滤
以仅保留具有奇数(或偶数)索引的产品。之后,您需要将2元组映射到产品名称。
问题内容: Swift 3支持像这样的功能吗? 如果没有,最有效的逻辑是什么? 问题答案: 您可以为数组创建自己的扩展名。 您可以这样称呼它
我在while循环中有一个带有multiple=“true”属性的select option表单字段。如果选择选项应该是多选的,我们应该在名称上放一个方括号,如[]。 Ref:如何在php中获取选择框的多个选定值? 在这种情况下,我如何从每个选择框数组中获取值
问题内容: 我有一个像这样的数组: 如果用户将“ Designation2”作为输入,则代码应返回。 这可能是一个非常简单的问题,但是我是Java的新手。因此,请提出一些建议。 问题答案: 您可以遍历数组中的字符串,并找到与您要查找的字符串匹配的索引。
我想得到给定某个索引的数组类型的值。数组的值是 $status=[1,2]; 我使用这些代码来获取值: $task_state=$status[1]; 但它实际上认为$status是一个字符串并返回 '[' 我知道这其实很简单,但我似乎找不到问题的答案。非常感谢。
问题内容: 我有并想要一些函数,调用的结果是新数组。 问题答案: 看一眼
问题内容: 我在Python out1,out2,out3等中有很多函数,并且想基于传入的整数来调用它们。 是否有捷径可寻? 问题答案: tl; dr:编写函数而不是,并且不要理会此hack。 我无法想象在实际情况中会出现这个问题的合理情况。请重新考虑问题的体系结构;可能会有一个更好的方法(因为将它们存储在列表中意味着除索引外,函数没有其他意义;例如,我只能想象如果要创建该函数,则可以这样做)一堆