-2

我有一个二维数组和一个一维数组。二维数组的大小为 NxM。一维数组的大小为 N x M 意味着它有 NXM 个元素。

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

这是我尝试过的

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

但不工作有什么建议吗???

4

2 回答 2

3

你可以改变:

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

到:

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

这可能会更好。

于 2012-06-01T10:23:01.610 回答
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++];
    }
}
于 2012-06-01T10:47:30.507 回答