2015-08-10 2 views
1

У меня есть 5 массивов. Я удалил дубликаты из массива. Но я не могу хранить новые значения в новом массиве. Я следую приведенному ниже методу для преобразования во время выполнения. Ниже логики будут происходить внутри цикла. Но я показал свою логику очень подробно. Я не могу преобразовать целочисленный массив в int. Поэтому я попытался преобразовать целочисленный массив в String. Но не удалось. Моя кодировка ниже.Невозможно преобразовать [Int] в целое число в swift

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] 

Мои Coding

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

ответ

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)