无法在swift中将[Int]转换为整数

时间:2015-08-10 12:50:57

标签: arrays swift

我有5个阵列。我从数组中删除了重复项。但是,我无法在新数组中存储新值。我按照以下方法在运行时转换。以下逻辑将发生在循环内。但是,我非常谨慎地展示了我的逻辑。我无法将整数数组转换为int。所以我试着将整数数组转换为String。但失败了。我的编码如下。

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 }
}

1 个答案:

答案 0 :(得分:3)

函数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)