What is the Objective-C equivalent of the JavaScript concat()
function?
Assuming that both objects are arrays, how would you combine them?
NSArray
's arrayByAddingObjectsFromArray:
is more-or-less equivalent to JavaScript's .concat()
method:
NSArray *newArray=[firstArray arrayByAddingObjectsFromArray:secondArray];
Note: If firstArray
is nil, newArray
will be nil. This can be fixed by using the following:
NSArray *newArray=firstArray?[firstArray arrayByAddingObjectsFromArray:secondArray]:[[NSArray alloc] initWithArray:secondArray];
If you want to strip-out duplicates:
NSArray *uniqueEntries = (NSArray *)[[NSSet setWithArray:newArray] allObjects];
Here's a symmetric & simple way by just beginning with an empty array:
NSArray* newArray = @[];
newArray = [newArray arrayByAddingObjectsFromArray:firstArray];
newArray = [newArray arrayByAddingObjectsFromArray:secondArray];
For Swift version its like charm :
let a = [1,2,3]
let b = [3,4]
let c = a + b
print(c)