How to zero a 2D array in Swift

3 Answers

0 votes
import Foundation

var arr: [[Int]] = [[5, 7], 
                    [2, 9], 
                    [1, 3]]
                    
print(arr)

let rows = arr.count
let cols = arr[0].count

arr = Array(repeating: Array(repeating: 0, count: cols), count: rows)

print(arr)



/*
run:

[[5, 7], [2, 9], [1, 3]]
[[0, 0], [0, 0], [0, 0]]

*/

 



answered Jan 10, 2025 by avibootz
edited Jan 10, 2025 by avibootz
0 votes
import Foundation

var arr: [[Int]] = [[5, 7], 
                    [2, 9], 
                    [1, 3]]
                    
print(arr)

let rows = arr.count
let cols = arr[0].count

for i in 0..<rows {
    for j in 0..<cols {
        arr[i][j] = 0 
    }
}

print(arr)



/*
run:

[[5, 7], [2, 9], [1, 3]]
[[0, 0], [0, 0], [0, 0]]

*/

 



answered Jan 10, 2025 by avibootz
0 votes
import Foundation

var arr: [[Int]] = [[5, 7], 
                    [2, 9], 
                    [1, 3]]
                    
print(arr)

let rows = arr.count
let cols = arr[0].count

arr = (0..<rows).map { _ in
      (0..<cols).map { _ in 0 }
}

print(arr)



/*
run:

[[5, 7], [2, 9], [1, 3]]
[[0, 0], [0, 0], [0, 0]]

*/

 



answered Jan 10, 2025 by avibootz
...