Как объединить два массива в Objective-C? Что такое Objective-C эквивалент функции JavaScript concat()? Предполагая, что оба объекта являются массивами, как бы вы их объединили? Ответ 1 NSArray arrayByAddingObjectsFromArray: более или менее эквивалентен методу JavaScript .concat(): NSArray *newArray=[firstArray arrayByAddingObjectsFromArray:secondArray]; Примечание. Если firstArray равно нулю, newArray будет равно нулю. Это можно исправить, используя следующее: NSArray *newArray=firstArray?[firstArray arrayByAddingObjectsFromArray:secondArray]:[[NSArray alloc] initWithArray:secondArray]; Если вы хотите разбить дубликаты: NSArray *uniqueEntries = (NSArray *)[[NSSet setWithArray:newArray] allObjects]; Ответ 2 Здесь симметричный и простой способ, только начиная с пустого массива: NSArray* newArray = @[]; newArray = [newArray arrayByAddingObjectsFromArray:firstArray]; newArray = [newArray arrayByAddingObjectsFromArray:secondArray]; Ответ 3 Для версии Swift это как шарм: let a = [1,2,3] let b = [3,4] let c = a + b print(c)
Ответ 1 NSArray arrayByAddingObjectsFromArray: более или менее эквивалентен методу JavaScript .concat(): NSArray *newArray=[firstArray arrayByAddingObjectsFromArray:secondArray]; Примечание. Если firstArray равно нулю, newArray будет равно нулю. Это можно исправить, используя следующее: NSArray *newArray=firstArray?[firstArray arrayByAddingObjectsFromArray:secondArray]:[[NSArray alloc] initWithArray:secondArray]; Если вы хотите разбить дубликаты: NSArray *uniqueEntries = (NSArray *)[[NSSet setWithArray:newArray] allObjects];
Ответ 2 Здесь симметричный и простой способ, только начиная с пустого массива: NSArray* newArray = @[]; newArray = [newArray arrayByAddingObjectsFromArray:firstArray]; newArray = [newArray arrayByAddingObjectsFromArray:secondArray];