可变数组合并数组到另一个数组
Mutable array merge array to another array
我有两个可变数组:
NSMutableArray
array1; [含1,2,3,4,5]
NSMutableArray
array2; [含9,8,7]
我想插入 array2 值到 array1 3 和 4 之间,所以结果可能是:
array1 = [1,2,3,9,8,7,4,5]
同样,我想从 array1 中删除 array2 值,因此结果可能是:
array1 = [1,2,3,4,5]
请给我一些实现它的最佳方法。
以下链接没有帮助:
Copy object at specific index of mutable array to the end of another array
根据您的要求,您可以将第一个数组分成两部分并将所有 3 个数组合并到最终数组以获得预期的输出。
请检查此代码:
NSMutableArray *mutArray1 = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"5", nil];
NSMutableArray *mutArray2 = [[NSMutableArray alloc] initWithObjects:@"9",@"8",@"7", nil];
//You cna change index based on your requirement.
int indexToSpit = 3;
//Split your first array into 2 part.
NSArray *arayFirstPart = [mutArray1 subarrayWithRange:NSMakeRange(0, indexToSpit)];
NSArray *araySecondPart = [mutArray1 subarrayWithRange:NSMakeRange(indexToSpit, mutArray1.count-indexToSpit)];
//Merge all 3 array into single array
NSMutableArray *finalArray = [[NSMutableArray alloc] initWithArray:arayFirstPart];
[finalArray addObjectsFromArray:mutArray2];
[finalArray addObjectsFromArray:araySecondPart];
NSLog(@"Combine Array : %@",finalArray);
//For remove
[finalArray removeObjectsInArray:mutArray2];
NSLog(@"Split Array : %@",finalArray);
希望对您有所帮助。
var array1 = [1,2,3,4,5]
var array2 = [9,8,7]
用于在 index 3 处插入 array2 使用
array1.insertContentsOf(array2, at: 3)
print(array1)
要删除您可以使用
array1 = Array(Set(array1).subtract(array2))
这将是无序数组,因为我们正在将数组转换为集合以进行减法。
或者你可以试试
var array3 = [1,2,3,4,5]
//assuming array1 as [1,2,3,9,8,7,4,5]
let array4 = array1.filter({array3.contains([=12=])})
print(array4) //will give you desired ordered array
我有两个可变数组:
NSMutableArray
array1; [含1,2,3,4,5]
NSMutableArray
array2; [含9,8,7]
我想插入 array2 值到 array1 3 和 4 之间,所以结果可能是:
array1 = [1,2,3,9,8,7,4,5]
同样,我想从 array1 中删除 array2 值,因此结果可能是:
array1 = [1,2,3,4,5]
请给我一些实现它的最佳方法。
以下链接没有帮助: Copy object at specific index of mutable array to the end of another array
根据您的要求,您可以将第一个数组分成两部分并将所有 3 个数组合并到最终数组以获得预期的输出。
请检查此代码:
NSMutableArray *mutArray1 = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"5", nil];
NSMutableArray *mutArray2 = [[NSMutableArray alloc] initWithObjects:@"9",@"8",@"7", nil];
//You cna change index based on your requirement.
int indexToSpit = 3;
//Split your first array into 2 part.
NSArray *arayFirstPart = [mutArray1 subarrayWithRange:NSMakeRange(0, indexToSpit)];
NSArray *araySecondPart = [mutArray1 subarrayWithRange:NSMakeRange(indexToSpit, mutArray1.count-indexToSpit)];
//Merge all 3 array into single array
NSMutableArray *finalArray = [[NSMutableArray alloc] initWithArray:arayFirstPart];
[finalArray addObjectsFromArray:mutArray2];
[finalArray addObjectsFromArray:araySecondPart];
NSLog(@"Combine Array : %@",finalArray);
//For remove
[finalArray removeObjectsInArray:mutArray2];
NSLog(@"Split Array : %@",finalArray);
希望对您有所帮助。
var array1 = [1,2,3,4,5]
var array2 = [9,8,7]
用于在 index 3 处插入 array2 使用
array1.insertContentsOf(array2, at: 3)
print(array1)
要删除您可以使用
array1 = Array(Set(array1).subtract(array2))
这将是无序数组,因为我们正在将数组转换为集合以进行减法。
或者你可以试试
var array3 = [1,2,3,4,5]
//assuming array1 as [1,2,3,9,8,7,4,5]
let array4 = array1.filter({array3.contains([=12=])})
print(array4) //will give you desired ordered array