Что такое эффективный способ преобразовать массив pixelValues [UInt8]
в двухмерном массиве pixelValues строк - [[UInt8]]
Как эффективно преобразовать одномерный массив двумерного массива в swift3
ответ
Вы можете написать что-то вроде этого:
var pixels: [UInt8] = [0,1,2,3, 4,5,6,7, 8,9,10,11, 12,13,14,15]
let bytesPerRow = 4
assert(pixels.count % bytesPerRow == 0)
let pixels2d: [[UInt8]] = stride(from: 0, to: pixels.count, by: bytesPerRow).map {
Array(pixels[$0..<$0+bytesPerRow])
}
Но при семантике значений массивов Swift все попытки создания нового вложенного массива требуют копирования содержимого, поэтому для вашей цели не может быть «эффективным».
Пересмотрите, если вам действительно нужен такой вложенный массив.
У меня есть массив pixelValues [UInt8] и попробовал преобразовать его с помощью карты, и в конечном итоге с [ArraySlice
'ArraySlice' также является типом значения, но его функция копирования на запись сохранит некоторую стоимость копирования в некоторых случаях, все равно в некоторых других случаях. Зависит от того, как вы используете этот «2d-массив». – OOPer
@ VYT, мне нужно отметить, что индексы 'ArraySlice' не всегда начинаются с 0. Возможно, это не то, что вы хотите. – OOPer
- 1. Преобразовать три одномерный массив двумерного массива в PHP
- 2. превратить одномерный массив двумерного массива с петлей
- 3. Как извлечь одномерный массив из двумерного массива в VB.NET
- 4. Как скопировать часть двумерного массива в одномерный массив?
- 5. Как преобразовать одномерный массив в двумерный массив
- 6. Как преобразовать двумерный массив в одномерный массив
- 7. JAVA Запись диагонали двумерного массива в одномерный массив
- 8. Преобразование некоторых значений из двумерного массива в одномерный массив
- 9. Как преобразовать одномерный массив в двухмерном массив
- 10. Как преобразовать многомерный массив в одномерный массив?
- 11. Как преобразовать многомерный массив в одномерный массив?
- 12. эффективно сортировать столбец двумерного массива в C
- 13. Как преобразовать двумерный массив в одномерный массив в php5
- 14. PHP преобразовать одномерный массив в многомерные
- 15. Как преобразовать двумерный массив в одномерный?
- 16. Преобразовать одномерный ассоциативный массив двумерный
- 17. Алгоритм преобразования многомерного массива в одномерный массив
- 18. Как преобразовать многомерный ассоциативный массив в одномерный массив в php?
- 19. Как преобразовать многомерный массив в одномерный массив в C#?
- 20. как преобразовать ассоциативный массив в одномерный массив в PHP
- 21. Как преобразовать одномерный массив в двумерный массив в Java
- 22. Как преобразовать многомерный рекурсивный массив в одномерный массив в PHP?
- 23. Преобразование двумерного массива int в байтовый массив
- 24. 1 одномерный массив в 2 одномерный массив
- 25. Преобразовать одномерный массив в многомерном массиве
- 26. Преобразовать массив объектов JsonArray в Swift3
- 27. C двумерный массив двумерного массива
- 28. Как преобразовать строку Python в одномерный массив или список
- 29. Преобразование двумерного массива в массив объектов
- 30. JSON в одномерный массив
Вы хотите добавить массивы в многомерную [[UInt8]] или разделить исходный массив [UInt8] на меньшие массивы, представляющие строки? если да, то каково правило разделить его? – xhamr
@xhamr Я хочу сделать (из массива pixelxValues [UInt8] of Image) двумерный массив, в котором каждый элемент - pixelRow (т. Е. [UInt8]) из массива pixelxValues [UInt8] изображения. – VYT