I faced a strange situation when I tried to create an array of arrays via fill and then I tried to add some value to the first child I saw all other nested arrays receive this value as well.
I have an idea why it could happen. It looks like the fill property uses the same object of all 3 nested 'places\items' and now each item is the reference to the single Array.
Also, I tried to use the .fill(new Array()) instead of the literal expression but I had the same result.
I'm not sure if I'm right so fix me, please, if I missed something. Thanks
// an amount of the required output arrays
const requiredArrays = 3; 
const cols = new Array(requiredArrays).fill([]);
cols[0].push({id: 1})
 
The expected result:
[
    [
        {
            "id": 1
        }
    ],
    [],
    []
]
the actual result:
[
    [
        {
            "id": 1
        }
    ],
    [
        {
            "id": 1
        }
    ],
    [
        {
            "id": 1
        }
    ]
]
P.S. What is the right way to achieve the result I want to have? Should I just use the for cycle and populate the parent array via the children or maybe some nicer way exists?
 
     
    