如何将多个NSArrays组合成一个具有交替值的数组?例如。
阵列一:橙色,苹果,梨
数组二:树、灌木、花
阵列三:蓝色、绿色、黄色
最后的数组需要是:橙色、树木、蓝色、苹果、灌木、绿色等
发布于 2010-07-07 06:56:55
假设所有数组的长度都相同:
NSUInteger numberOfArrays = 3;
NSUInteger arrayLength = [arrayOne length];
NSMutableArray *finalMutableArray = [NSMutableArray arrayWithCapacity:(arrayLength * numberOfArrays)];
for (NSUInteger index = 0; index < arrayLength; index++) {
[finalMutableArray addObject:[arrayOne objectAtIndex:index]];
[finalMutableArray addObject:[arrayTwo objectAtIndex:index]];
[finalMutableArray addObject:[arrayThree objectAtIndex:index]];
}
NSArray *finalArray = [NSArray arrayWithArray:finalMutableArray];您可能希望测试数组是否具有相同的长度。不能将nil添加到NSMutableArray或NSArray。您可以添加NSNull占位符,但检查您的输入可能更好。
发布于 2015-02-13 16:36:06
[@[@[@1,@2],@[@3,@4],@[@5,@6]] valueForKeyPath:@"@unionOfArrays.self"]
因此,一旦有了数组数组,就可以调用unionOfArrays集合运算符。
发布于 2012-01-06 11:52:23
如果您有数组数组
NSArray *arrayOfArrays = ...;
NSMutableArray *oneArray = [NSMutableArray array];
for (NSArray *tmpArray in arrayOfArrays) {
[oneArray addObjectsFromArray:tmpArray];
}https://stackoverflow.com/questions/3190782
复制相似问题