2016-12-21 7 views
3

2つの配列があり、マージまたは結合したいが、最初に似た値が存在するかどうか比較し、0でギャップを埋める。 。例のように:2つの異なるサイズの配列をマージまたは結合し、0でギャップを埋める

Array1: 1 2 3 4 5 6 
Array2: 2 5 

NewArray: 0 2 0 0 5 0 

私は「あなたがにつながる格納したいと仮定すると... 0と最初の配列の同じ順序を保ったまま行方不明の行を交換する方法について確認してください配列を組み合わせることではなく、約

答えて

1

を読みます結果 "配列。

Objective-Cのバージョン:

NSArray *arr1 = @[@1,@2,@3,@4,@5,@6]; 
NSArray *arr2 = @[@2,@5]; 

NSMutableArray *result = [NSMutableArray array]; 

for (NSNumber * item in arr1){ 
    [arr2 containsObject: item] ? [result addObject:item] : [result addObject:@0]; 
} 

スウィフトバージョン:

let arr1 = [1,2,3,4,5,6] 
let arr2 = [2,5] 

let result = arr1.map { x -> Int in 
    return arr2.contains(x) ? x : 0 
} 
+0

スイフトバージョンがエラーを有しています。 0:最後の行のxは0を読みます。0 – jvarela

+0

@jvarelaええ、それについては申し訳ありません、xと0は場所を入れ替える必要があります。私の答えを編集しました。訂正ありがとう –

+0

私は期待どおりに動作!!!! ... – jpatinop

関連する問題