gpt4 book ai didi

swift - 在 compactMap 返回中返回多个值

转载 作者:行者123 更新时间:2023-11-28 11:25:45 26 4
gpt4 key购买 nike

是否有可能在 compactMap 返回中添加多个值?

这是我试过的。它不会工作,因为返回需要一个字符串。

var array: [String] = ["This","is","just","an","example"]

var newArray: [String] = array.compactMap({ return [$0, "foo"] })

print(newArray)

我想要一个输出数组,如:["This","foo","is","foo","just","foo","an","foo","example","foo"]

但我不想要针对该特定示例的解决方案。我问是否可以在 compactMap 中返回多个值并在 compactMap 中操作它的计数

最佳答案

这是一个错误的类型注释破坏代码的好例子。

映射数组的类型其实是[[String]]

基本上不要注释编译器可以推断的类型。

你不需要 compactMap 因为所有类型都是非可选的

let array = ["This","is","just","an","example"]
let newArray = array.map({ return [$0, "foo"] })
print(newArray)

但是,要获得 [String],您必须使用 flatMap

let array = ["This","is","just","an","example"]
let newArray = array.flatMap({ return [$0, "foo"] })
print(newArray)

关于swift - 在 compactMap 返回中返回多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58234143/

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