Как String массив превратить в Int массив (многомерный)? Есть массив [["9", "6", "7", "8", "5"], ["1", "1", "1", "1", "1"]], нужно получить новый [[9, 6, 7, 8, 5], [1, 1, 1, 1, 1]] Делаю и получаю ошибкуlet arr = [["9", "6", "7", "8", "5"], ["1", "1", "1", "1", "1"]] let mapArr = arr.map{Int($0).map{Int($0)}} хотя сама по себе конструкция рабочая и дает результатlet arr = [[1,2,3],[4,5,6]] let mapArr = arr.map{$0.map{$0 * 2}} mapArr // [[2, 4, 6], [8, 10, 12]]
Для преобразования String массива в Int массив многомерный, Вам нужно использовать двойное отображение (map) для каждого элемента массива. Ниже пример кода, который покажет, как это сделать:
Этот код пройдет каждый элемент во внешнем массиве, а затем для каждого элемента внутреннего массива попытается преобразовать его в Int. Если преобразование не удалось (например, если элемент не является числом), оно заменит его на 0.
Для преобразования String массива в Int массив многомерный, Вам нужно использовать двойное отображение (map) для каждого элемента массива. Ниже пример кода, который покажет, как это сделать:
let arr = [["9", "6", "7", "8", "5"], ["1", "1", "1", "1", "1"]]let mapArr = arr.map{ $0.map{ Int($0) ?? 0 } }
print(mapArr)
Этот код пройдет каждый элемент во внешнем массиве, а затем для каждого элемента внутреннего массива попытается преобразовать его в Int. Если преобразование не удалось (например, если элемент не является числом), оно заменит его на 0.