Character数组的任何数组

时间:2016-11-02 15:43:52

标签: arrays swift converter

我已经尝试过了:

var newArray = oldArray.map
    {
        Character($0)
}

其中oldArray是类型为[Any]的数组。但是,插入该代码时出现错误。还有其他选择吗?

2 个答案:

答案 0 :(得分:2)

Any无法直接转换为Character,但需要先将其转换为String(从中转换(字符串中的第一个字符)是一个简单的任务) Character

let arr: [Any] = ["k", "n"]
let newArr = arr.flatMap { ($0 as? String)?.characters.first }
print(newArr, type(of: newArr)) // ["k", "n"] Array<Character>

答案 1 :(得分:0)

如果oldArray包含Character类型的对象:

var oldArray:[Any] = []
....
var newArray = oldArray.map {
        $0 as! Character
}

以这种方式编译,但你可以根据存储在oldArray中的值获得运行时异常。