将1-D阵列复制为2-D阵列

时间:2012-06-01 10:21:36

标签: arrays multidimensional-array

我有一个二维数组和一个单维数组。 二维阵列具有NxM大小。并且一维阵列的大小为N×M表示 它有N X M个元素。

现在我想将一维数组的所有元素复制到二维数组中。

这就是我试过的

for(i = 0; i < M; i += 1) {
        for(j = 0; j < N; j += 1) {
            arr2d[i][j] = arr2d[(i*j +j)];
        }
}

但不工作任何建议???

2 个答案:

答案 0 :(得分:3)

您可以更改:

arr2d[i][j] = arr2d[(i*j +j)];

为:

arr2d[i][j] = arr1d[(i*N + j)];

这可能会更好。

答案 1 :(得分:1)

var arr1d = [1,2,3,4,5,6];
var M = 1, N = 2;
var arr2d = [];
var counter = 0;
for(i = 0; i <= M; i += 1) {
    for(j = 0; j <= N; j += 1) {
        if(j == 0)
            arr2d[i] = [];
        arr2d[i][j] = arr1d[counter++];
    }
}