1

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

}

1 Answer 1

4

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]
Sign up to request clarification or add additional context in comments.

1 Comment

Yep that works ... no idea how! I'm off to find out how. Thanks

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.