我有NSArray1 =(1,5,2) 和NSArray2 =(1,3,5)
我想要array1 + array2 =(应该返回)=(2,8,7)
(事实上甚至可以用NSArray做到这一点)?
这是一个类似的问题 Adding two arrays together (但这会将第二个数组的值添加到第一个数组的末尾)
NSArray *a = [NSArray arrayWithObjects: @"1" ,@"2",@"3",nil];
NSArray *b = [NSArray arrayWithObjects: @"1" ,@"2",@"3",nil];
NSMutableArray *c = [[NSMutableArray alloc]init];
c = [a addObjectsFromArray:b];
//只是一个测试代码。 。 。
答案 0 :(得分:1)
如果它是一个C阵列,那就做吧
int newArray[3];
for (int i=0;i<3;i++)
newArray[i] = array1[i]+array2[i];
但如果它是带有NSNumber的NSArray(你不能在NSArray中有原语),那么就这样做
NSMutableArray *newArray = [NSMutableArray array];
for (int i=0;i<[array1 count];i++)
[newArray addObject:[NSNumber numberWithInt:[[array1 objectAtIndex:i] intValue]+[[array2 objectAtIndex:i] intValue]]];
//If you're using Mountain Lion, then you can use the following
//[newArray addObject:@([array1[i] intValue]+[array2[i] intValue])];
修改强>
如果您有多个阵列,那么
int numArrays = 3;
NSArray *arrayOfNum = //An array of arrays that contains all the numbers
NSMutableArray *newArray = [NSMutableArray array]
for (int i=0;i<[array1 count];i++)
{
int total = 0;
for (int x=0;x<numArrays;x++)
total+=[arrayOfNum[x] intValue];
[newArray addObject:@(total)];
}