我有两个数组,我想合并或组合,但首先比较以查看是否存在类似的值,然后用0填充间隙,但必须保留第一个数组顺序。像例子一样:
Array1: 1 2 3 4 5 6
Array2: 2 5
NewArray: 0 2 0 0 5 0
我读到了关于组合数组但不确定如何用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];
}
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
}