I have an NSArray populated with 0's and 1's. How can I return the number of 0's in the array?
Thanks!
I have an NSArray populated with 0's and 1's. How can I return the number of 0's in the array?
Thanks!
Declare a counter, set it to 0, loop through the array and if the element is 0, increment the counter.
Iterate through the array and count the things you're looking for.
Assuming you have an NSArray
populated with NSNumber
s:
NSArray* array = ... ; // populate array
NSUInteger count = 0;
for (NSNumber* number in array)
{
if ([number intValue] == 0)
{
count++;
}
}
A little perverted solution :)
NSUInteger zeros_count(NSArray *array) {
NSUInteger sum = 0;
for (NSNumber *number in array)
sum += [number intValue];
return [array count] - sum;
}
Depending on your application, you might consider using an NSCountedSet.
When it comes time to get the count of a certain type of object, you can just use the countForObject: instance method.
Probably a little too heavy for your current problem, but may be useful for others looking for similar solution.
NSArray* array = [[NSArray alloc] ...]; ; // put data into the array
NSUInteger arrayWithValue = 0;
for (NSNumber* number in array)
{
if ([number intValue] == NUMBERYOUARELOOKINGFOR)
{
count++;
}
}
KeyValueCoding
int count = [array count] - [[array valueForKeyPath:@"@sum.intValue"] intValue];