任意数组到字符数组
Any array to Character array
我已经试过了:
var newArray = oldArray.map
{
Character([=10=])
}
其中 oldArray 是类型为 [Any] 的数组。但是,当我插入该代码时出现错误。还有其他选择吗?
如果 oldArray 包含字符类型的对象:
var oldArray:[Any] = []
....
var newArray = oldArray.map {
[=10=] as! Character
}
这样编译是可以的,但是你可以根据oldArray中存储的值得到运行时异常。
Any
不能直接转换为 Character
,需要先转换为 String
(从中转换是一个简单的任务(字符串中的第一个字符) 至 Character
:
let arr: [Any] = ["k", "n"]
let newArr = arr.flatMap { ([=10=] as? String)?.characters.first }
print(newArr, type(of: newArr)) // ["k", "n"] Array<Character>
我已经试过了:
var newArray = oldArray.map
{
Character([=10=])
}
其中 oldArray 是类型为 [Any] 的数组。但是,当我插入该代码时出现错误。还有其他选择吗?
如果 oldArray 包含字符类型的对象:
var oldArray:[Any] = []
....
var newArray = oldArray.map {
[=10=] as! Character
}
这样编译是可以的,但是你可以根据oldArray中存储的值得到运行时异常。
Any
不能直接转换为 Character
,需要先转换为 String
(从中转换是一个简单的任务(字符串中的第一个字符) 至 Character
:
let arr: [Any] = ["k", "n"]
let newArr = arr.flatMap { ([=10=] as? String)?.characters.first }
print(newArr, type(of: newArr)) // ["k", "n"] Array<Character>