How to clone a two-dimensional array in JavaScript

3 Answers

0 votes
let arr2D = [
    [1, 2, 3, 0],
    [4, 5, 6, 17],
    [7, 8, 9, 28]
];
 
let clonedArray = arr2D.map(innerArray => innerArray.slice());
 
console.log(clonedArray);
 
 
 
/*
run:
 
[ [ 1, 2, 3, 0 ], [ 4, 5, 6, 17 ], [ 7, 8, 9, 28 ] ]
 
*/

 



answered Mar 8, 2025 by avibootz
0 votes
let arr2D = [
    [1, 2, 3, 0],
    [4, 5, 6, 17],
    [7, 8, 9, 28]
];
 
let clonedArray = JSON.parse(JSON.stringify(arr2D));
 
console.log(clonedArray);
 
 
 
/*
run:
 
[ [ 1, 2, 3, 0 ], [ 4, 5, 6, 17 ], [ 7, 8, 9, 28 ] ]
 
*/

 



answered Mar 8, 2025 by avibootz
0 votes
let arr2D = [
    [1, 2, 3, 0],
    [4, 5, 6, 17],
    [7, 8, 9, 28]
];

let clonedArray = [];
let arr2D_length = arr2D.length;
for (let i = 0; i < arr2D_length; i++) {
    clonedArray[i] = [];
    let arr2D_i_length = arr2D[i].length;
    for (let j = 0; j < arr2D_i_length; j++) {
        clonedArray[i][j] = arr2D[i][j];
    }
}

console.log(clonedArray);



/*
run:

[ [ 1, 2, 3, 0 ], [ 4, 5, 6, 17 ], [ 7, 8, 9, 28 ] ]

*/

 



answered Mar 8, 2025 by avibootz

Related questions

1 answer 90 views
3 answers 122 views
1 answer 91 views
1 answer 101 views
1 answer 108 views
108 views asked Mar 8, 2025 by avibootz
3 answers 138 views
3 answers 121 views
...