[Character]数组的输出当前是:
["E", "x", "a", "m", "p", "l", "e"]
Run Code Online (Sandbox Code Playgroud)
它应该是:
Example
Run Code Online (Sandbox Code Playgroud)
它可能"是在数组中,如下所示:""".那个输出应该是".
谢谢!
dfr*_*fri 35
另一个答案涵盖了你的数组是String元素之一的情况(这很可能就是这种情况:因为你没有提供我们数组的类型,我们可以使用Swift自己的类型推理规则来推测推断类型[String]).
Character但是,如果数组的元素实际上是类型,则可以直接使用Character序列初始值设定项String:
let charArr: [Character] = ["E", "x", "a", "m", "p", "l", "e"]
let str = String(charArr) // Example
Run Code Online (Sandbox Code Playgroud)
您的评论如下:如果您的示例数组由于某种原因是一个Any元素(通常不明确使用,但有时从某些外部源接收数据的情况),您首先需要执行尝试在将转换后的元素集中到单个实例之前,将每个Any元素转换为String类型String.转换后,您将使用一系列String元素,在这种情况下,其他答案中显示的方法将是适当的构想方法:
// e.g. using joined()
let arr: [Any] = ["E", "x", "a", "m", "p", "l", "e"]
let str = arr.flatMap { $0 as? String }.joined()
print(str) // example
Run Code Online (Sandbox Code Playgroud)
您当然也可以(尝试)转换Any为Character元素,但即使在这种情况下,您也必须通过String实例,这意味着对于这种[Any]情况,joined()上面的替代方案是优先于下面的一个:
let arr: [Any] = ["E", "x", "a", "m", "p", "l", "e"]
let str = String(arr.flatMap { ($0 as? String)?.characters.first })
print(str) // example
Run Code Online (Sandbox Code Playgroud)
只需使用joined()默认""分隔符:
let joinedString = ["E", "x", "a", "m", "p", "l", "e"].joined()
Run Code Online (Sandbox Code Playgroud)
let e = ["E", "x", "a", "m", "p", "l", "e"]
print(e.reduce ("", +))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15372 次 |
| 最近记录: |