Objective c 合并或组合两个不同大小的数组并用0填充间隙

Objective c 合并或组合两个不同大小的数组并用0填充间隙,objective-c,arrays,xcode,merge,Objective C,Arrays,Xcode,Merge,我有两个数组,我想合并或合并,但首先比较看是否存在类似的值,然后用0填充间隙,但必须保留第一个数组顺序。例如: Array1: 1 2 3 4 5 6 Array2: 2 5 NewArray: 0 2 0 0 5 0 我读过关于组合数组的内容,但不确定如何用0替换缺少的行并保持第一个数组的顺序…假设要将结果存储在“result”数组中 目标-C版本: NSArray *arr1 = @[@1,@2,@3,@4,@5,@6]; NSArray *arr2 = @[@2,@5]; NSMut

我有两个数组,我想合并或合并,但首先比较看是否存在类似的值,然后用0填充间隙,但必须保留第一个数组顺序。例如:

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

NewArray: 0 2 0 0 5 0

我读过关于组合数组的内容,但不确定如何用0替换缺少的行并保持第一个数组的顺序…

假设要将结果存储在“result”数组中

目标-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];
}
Swift版本:

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
}

Swift版本有一个错误。最后一行中的0:x应为x:0@jvarela是的,很抱歉,x和0应该互换位置。编辑了我的答案。谢谢你的更正