我已嵌套Arrays
,
例如:
[[1,2,3,4,5],[A,B,C,D,E],[Z,Y,X,W,V]
我想遍历这个数组并创建一个新数组,如下所示:
[1,A,Z,2,B,Y,3,C,X,4,d,W,5,E,V]
我最初考虑使用嵌套的For
循环,例如:
int index = 0;
int stop = [[arrays objectAtIndex:0] count];
NSMutableArray* finalArray = [NSMutableArray new];
while(index < stop)
{
for(id array in images)
{
[finalArray addObject:[array objectAtIndex:index]];
}
index++;
}
最有效的方法是什么?
答案 0 :(得分:1)
我不相信你的代码实际上会生成你的意思(它实际上没有编译,因为NSArray
没有addObject:
)。你想要的是拉链:
NSArray *Zip(NSArray *arrays) {
if ([arrays count] == 0) {
return @[];
}
NSMutableArray *result = [NSMutableArray new];
NSInteger minCount = NSIntegerMax;
for (NSArray *array in arrays) {
minCount = MIN(minCount, [array count]);
}
for (NSInteger i = 0; i < minCount; i++) {
for (NSArray *array in arrays) {
[result addObject:array[i]];
}
}
return result;
}
答案 1 :(得分:1)
无法评论,因为我没有50个代表,所以必须作为答案!
您是否尝试过使用
等循环Dim i As Integer, j As Integer
For i = 1 To 5
For j = 1 To 3
从数组i
j
Next j
Next i