pete
pete

Reputation: 3050

Function that returns an Array from an Array of Arrays

Im trying to make a function that takes in an Array of Arrays that returns a single Array so that all values ("names") have there own index.

var namesList1 = [String]()
var namesList2 = [String]()
var namesList3 = [String]()

namesList1 = ["Paul","John","Ringo","George"]
namesList2 = ["Julie","Sarah","Jackie"]
namesList3 = ["Jim","Jack","Charlie","Sally","Debra"]

var namesCombinedArray = [NSArray]()
namesCombinedArray = [namesList1,namesList2,namesList3]





func total(arrays:NSArray) -> NSArray{

// how to loop to create an array with index(s) to all names ??
 var completeList = [NSArray]()

return completeList

}

Upvotes: 1

Views: 83

Answers (1)

matt
matt

Reputation: 535989

You could use flatMap:

let namesList1 = ["Paul","John","Ringo","George"]
let namesList2 = ["Julie","Sarah","Jackie"]
let namesList3 = ["Jim","Jack","Charlie","Sally","Debra"]
let namesCombinedArray = [namesList1,namesList2,namesList3]

let completeList = namesCombinedArray.flatMap{$0}

print(completeList)
// [Paul, John, Ringo, George, Julie, Sarah, Jackie, Jim, Jack, Charlie, Sally, Debra]

Upvotes: 4

Related Questions