How to resize an array in Swift

3 Answers

0 votes
var arr = [1, 2, 3, 4, 5, 6]

print(arr)  

arr += Array(repeating: 0, count: 3)  // Add 3 zeros to resize to length 9

print(arr) 


/*
run:

[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 0, 0, 0]

*/

 



answered Oct 14 by avibootz
0 votes
var arr = [1, 2, 3, 4, 5, 6, 7]

print(arr)  

arr = Array(arr.prefix(3)) // Shrink an Array by Slicing

print(arr) 



/*
run:

[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3]

*/

 



answered Oct 14 by avibootz
0 votes
func resizeArray<T>(_ array: [T], to newSize: Int, defaultValue: T) -> [T] {
    if newSize <= array.count {
        return Array(array.prefix(newSize))
    } else {
        return array + Array(repeating: defaultValue, count: newSize - array.count)
    }
}

var arr = [1, 2, 3, 4, 5, 6]

arr = resizeArray(arr, to: 10, defaultValue: 0)

print(arr)  



/*
run:

[1, 2, 3, 4, 5, 6, 0, 0, 0, 0]

*/

 



answered Oct 14 by avibootz
...