我有 5 个数组。我从数组中删除了重复项。但是,我无法在新数组中存储新值。我按照以下方法在运行时进行转换。以下逻辑将在循环内发生。但是,我非常详细地展示了我的逻辑。我无法将整数数组转换为 int。所以我尝试将整数数组转换为字符串。但是失败了。我的编码如下。
var arr_1 = [Int]()
var arr_2 = [Int]()
var arr_3 = [Int]()
var arr_4 = [Int]()
var arr_5 = [Int]()
var arr_final = [Int]()
arr_1 = [2,2,2,2,2,2]
arr_2 = [3,3,3]
arr_3 = [5,5,5,5,5]
arr_4 = [1,1,1,1]
arr_5 = [0]
我的输出是:
arr_final = [2,3,5,1,0]
我的编码
var str_1 = String(stringInterpolationSegment: uniq(arr_1)).toInt()
arr_final.append(str_1!) //PRINTS FATAL ERROR
//REMOVE DUPLICATES
func uniq<S: SequenceType, E: Hashable where E==S.Generator.Element>(source: S) -> [E] {
var seen: [E:Bool] = [:]
return filter(source) { seen.updateValue(true, forKey: $0) == nil }
}
最佳答案
函数 uniq
总是返回一个 Int
数组。
要将 Array
附加到现有 Array
,请使用 extend
而不是 append
var arr_final = [Int]()
let arr_1 = [2,2,2,2,2,2]
let result = uniq(arr_1)
arr_final.extend(result)
关于arrays - 无法快速将 [Int] 转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31920080/