如何将 NSArray 中的字符串配对?
How to pair strings together from NSArray?
我有一个 NSArray,如下所示:
NSArray *array = {@"1.100.2", @"23465343", @"1.100.1", @"46535334", @"1.0.03", @"24353454" ...};
我需要将每 2 个字符串配对到一个数组中,如下所示:
NSArray *pairedArray = {{@"1.100.2", @"23465343"}, {@"1.100.1", @"46535334"}, {@"1.0.03", @"24353454"}, ...};
数组是动态的。
我认为有一个 for
语句我可以使用但不记得了。类似于 for (uint i = 0; i < len - 1; i += 2)
如有任何帮助,我们将不胜感激。
通过使用数组的迭代器和大量使用 arrayWithCapacity
.
,这里有一些尝试变得更快的东西
NSArray *array = @[ @"1.100.2", @"23465343", @"1.100.1", @"46535334", @"1.0.03", @"24353454" ];
NSUInteger countPerPair = 2;
NSMutableArray * pair = [NSMutableArray arrayWithCapacity:countPerPair];
NSMutableArray * pairedArray = [NSMutableArray arrayWithCapacity:( array.count + countPerPair / 2 ) / countPerPair];
for ( NSObject * i in array )
{
if ( pair.count == countPerPair )
{
[pairedArray addObject:pair];
pair = [NSMutableArray arrayWithCapacity:countPerPair];
}
[pair addObject:i];
}
if ( pair.count )
{
[pairedArray addObject:pair];
}
我有一个 NSArray,如下所示:
NSArray *array = {@"1.100.2", @"23465343", @"1.100.1", @"46535334", @"1.0.03", @"24353454" ...};
我需要将每 2 个字符串配对到一个数组中,如下所示:
NSArray *pairedArray = {{@"1.100.2", @"23465343"}, {@"1.100.1", @"46535334"}, {@"1.0.03", @"24353454"}, ...};
数组是动态的。
我认为有一个 for
语句我可以使用但不记得了。类似于 for (uint i = 0; i < len - 1; i += 2)
如有任何帮助,我们将不胜感激。
通过使用数组的迭代器和大量使用 arrayWithCapacity
.
NSArray *array = @[ @"1.100.2", @"23465343", @"1.100.1", @"46535334", @"1.0.03", @"24353454" ];
NSUInteger countPerPair = 2;
NSMutableArray * pair = [NSMutableArray arrayWithCapacity:countPerPair];
NSMutableArray * pairedArray = [NSMutableArray arrayWithCapacity:( array.count + countPerPair / 2 ) / countPerPair];
for ( NSObject * i in array )
{
if ( pair.count == countPerPair )
{
[pairedArray addObject:pair];
pair = [NSMutableArray arrayWithCapacity:countPerPair];
}
[pair addObject:i];
}
if ( pair.count )
{
[pairedArray addObject:pair];
}