我正在寻找一种方法,该方法采用任意数量的 NSArray 对象,并返回该数组成员的所有可能完整组合的嵌套数组。
正如我在回答这个问题时被告知的那样,我正在寻找创建一个二分图,或者更准确地说,一个完整的二分图。
因此,例如,如果我有两个数组:
NSArray *a1 = [NSArray arrayWithObjects:@"Blue", @"Green", @"Yellow", nil];
NSArray *a2 = [NSArray arrayWithObjects:@"Apple", @"Orange", @"Pear", nil];
我想要一个采用这些数组的数组的方法:
NSArray *nestedArray = [NSArray arrayWithObjects:a1, a2, nil];
并返回所有可能组合的数组,长度相同。所以,在这个例子中,我想要一个大致如下所示的数组:
[
[@"Blue", @"Apple"],
[@"Blue", @"Orange"],
[@"Blue", @"Pear"],
[@"Green", @"Apple"],
[@"Green", @"Orange"],
[@"Green", @"Pear"],
[@"Yellow", @"Apple"],
[@"Yellow", @"Orange"],
[@"Yellow", @"Pear"]
]
随着这些数组中对象数量的增加,我相信结果的数量也会呈指数增长。然后我可能会将此方法作为 NSArray 上的一个类别。另外,我希望结果的长度都相同。也就是说,如果有三个源数组,则该方法返回的每个嵌套数组的长度都应为 3。
关于最优雅的方法的任何想法?