Как вывести значения двухмерного массива на Label?

array
uilabel
swift4

#1

привет всем. Есть двухмерный массив String:

[["яблоко", "апельсин", "виноград"], ["морковь", "помидор", "баклажан"]]

Как вывести его значения на Label в таком виде:

яблоко, апельсин, виноград
морковь, помидор, баклажан

Т.е. чтобы каждый подмассив был отдельной строкой и без скобок и кавычек. Гугл что-то не помог.


#2
let arr = [["яблоко", "апельсин", "виноград"], ["морковь", "помидор", "баклажан"]]
let result = arr.map { $0.joined(separator: ", ") }.joined(separator: "\n")
print(result)

#3

Спасибо огромное! Отличное решение!

А поясните, плз, логику работы. По идее понятно, что map перебирает значения массива, а joined преобразовывает их в String. Но как обрабатываются уровни массива, в данном случае двухмерного?


#4

arr.map { $0.joined(separator: ", ") } - возвращает обычный массив, который уже содержит объединенные значения из кажлого уровня вашего массива, получается так
["яблоко, апельсин, виноград", "морковь, помидор, баклажан"]
после чего делается еще раз объединение элементов полученного массива, разделяя элементы переносом строки


#5

ок, thanks еще раз. Буду осваивать.