Objective c 合并或组合两个不同大小的数组并用0填充间隙
我有两个数组,我想合并或合并,但首先比较看是否存在类似的值,然后用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
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应该互换位置。编辑了我的答案。谢谢你的更正