-4

I have my current array like this...

[
  ["Ahmedabad"],
  ["Surat"],
  ["Rajkot"],
  ["Junagadh"],
  ["Jamnagar"],
  ["Bhavnagar"],
  ["Amreli"]
]

And I want output in single String array [String] like..

["Ahmedabad", "Surat", "Rajkot", "Junagadh", "Jamnagar", "Bhavnagar", "Amreli"]
burnsi
  • 6,194
  • 13
  • 17
  • 27
Ashvin
  • 8,227
  • 3
  • 36
  • 53

1 Answers1

0

Simple solution you can apply:

let cityListarrays = [
  ["Ahmedabad"],
  ["Surat"],
  ["Rajkot"],
  ["Junagadh"],
  ["Jamnagar"],
  ["Bhavnagar"],
  ["Amreli"]
]

let newListArray = cityListarrays.flatMap { object in
    object
}

print(newListArray)

Output:

["Ahmedabad", "Surat", "Rajkot", "Junagadh", "Jamnagar", "Bhavnagar", "Amreli"]
Ashvin
  • 8,227
  • 3
  • 36
  • 53
  • Why not simply `cityListarrays.joined()`? – Leo Dabus Aug 30 '22 at 18:27
  • @LeoDabus I tried but it gives.. FlattenSequence>>(_base: [["Ahmedabad"], ["Surat"], ["Rajkot"], ["Junagadh"], ["Jamnagar"], ["Bhavnagar"], ["Amreli"]]) – Ashvin Aug 31 '22 at 05:31
  • That's correct. If you need an array you have to initialize it `Array(cityListarrays.joined())` but this will duplicate the memory usage. – Leo Dabus Aug 31 '22 at 11:15