# Correct way to add elements to a multidimensional array?

**URL:** <https://discourse.julialang.org/t/correct-way-to-add-elements-to-a-multidimensional-array/47798>\
**Category:** New to Julia\
**Created:** [October 5, 2020, 4:07pm UTC](https://discourse.julialang.org/t/correct-way-to-add-elements-to-a-multidimensional-array/47798 "2020-10-05T16:07:53Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon60034542](https://avatars.discourse-cdn.com/v4/letter/a/90ced4/32.png) [@anon60034542](https://discourse.julialang.org/u/anon60034542)\
**Post date:** [October 5, 2020, 4:07pm UTC](https://discourse.julialang.org/t/correct-way-to-add-elements-to-a-multidimensional-array/47798/1 "2020-10-05T16:07:53Z")

</div>

```julia
numbers = Array{Int}(undef, 2,2)
println(typeof(numbers))

```

I attempted to use `push!()` but I kept getting an error. Is there a method specifically to add elements to multidimensional arrays?

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [October 5, 2020, 4:12pm UTC](https://discourse.julialang.org/t/correct-way-to-add-elements-to-a-multidimensional-array/47798/2 "2020-10-05T16:12:40Z")

</div>

you can only extend it by another `n-1` dim array (in the last axis usually). It’s not clear in general how to add just 1 element to a multi-dimensional array:

```julia
julia> nums = rand(2,2)
2×2 Array{Float64,2}:
 0.228904 0.405165
 0.954996 0.22869

julia> hcat(nums, [0,0])
2×3 Array{Float64,2}:
 0.228904 0.405165 0.0
 0.954996 0.22869 0.0

julia> vcat(nums, [0 0])
3×2 Array{Float64,2}:
 0.228904 0.405165
 0.954996 0.22869
 0.0 0.0

```

---

<div class="post-metadata">

**Author:** ![anon60034542](https://avatars.discourse-cdn.com/v4/letter/a/90ced4/32.png) [@anon60034542](https://discourse.julialang.org/u/anon60034542)\
**Post date:** [October 5, 2020, 4:18pm UTC](https://discourse.julialang.org/t/correct-way-to-add-elements-to-a-multidimensional-array/47798/3 "2020-10-05T16:18:36Z")

</div>

> It’s not clear in general how to add just 1 element to a multi-dimensional array

I think I may have misused the term element. If I had a 2x2 array, how would add another 2x2 element for example:

```julia
numbers = Array{Int}(undef, 2,2)
2×2 Array{Float64,2}:
1 2
3 4

```

If I wanted to add 5,6, I would use `hcat()`, correct?

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [October 5, 2020, 4:21pm UTC](https://discourse.julialang.org/t/correct-way-to-add-elements-to-a-multidimensional-array/47798/4 "2020-10-05T16:21:08Z")

</div>

```julia
julia> nums = [1 2;
               3 4]
2×2 Array{Int64,2}:
 1 2
 3 4
julia> vcat(nums, [5 6])
3×2 Array{Int64,2}:
 1 2
 3 4
 5 6

```

?

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [October 6, 2020, 11:02am UTC](https://discourse.julialang.org/t/correct-way-to-add-elements-to-a-multidimensional-array/47798/5 "2020-10-06T11:02:44Z")

</div>

[https://github.com/JuliaArrays/ElasticArrays.jl](https://github.com/JuliaArrays/ElasticArrays.jl)
