我在 JavaScript 中创建了一个多维数组类型的变量,并在发送到函数之前对其进行了控制台,但它在控制台上显示了错误的输出,但是如果我删除该函数,则一切正常
function ROT(a, d) {
return a ^ d;
}
function thetha_step(A) {
const C = [];
const D = [];
//C[x] part
for (let x=0; x<5; x++) {
C[x] = A[x][0];
for (let y=1; y<5; y++) {
C[x] = C[x] ^ A[x][y];
}
}
//D[x] part
D[0] = C[4] ^ ROT(C[1], 1);
for (let x=1; x<5; x++) {
D[x] = C[x-1] ^ ROT(C[x+1], 1);
}
//A[x,y]
for (let x=0; x<5; x++) {
for (let y=0; y<5; y++) {
A[x][y] = A[x][y] ^ D[x];
}
}
return A;
}
var bin= [
[1, 0, 0, 0, 1],
[0, 1, 0, 0, 0],
[0, 0, 1, 1, 1],
[1, 0, 1, 1, 1],
[1, 0, 1, 0, 1]
];
console.log(bin);
console.log(thetha_step(bin));
# Outputs as #
(5) [Array(5), Array(5), Array(5), Array(5), Array(5)]
0: (5) [2, 3, 3, 3, 2]
1: (5) [2, 3, 2, 2, 2]
2: (5) [1, 1, 0, 0, 0]
3: (5) [2, 3, 2, 2, 2]
4: (5) [1, 0, 1, 0, 1]
(5) [Array(5), Array(5), Array(5), Array(5), Array(5)]
0: (5) [2, 3, 3, 3, 2]
1: (5) [2, 3, 2, 2, 2]
2: (5) [1, 1, 0, 0, 0]
3: (5) [2, 3, 2, 2, 2]
4: (5) [1, 0, 1, 0, 1]
我不明白为什么它没有显示正确的 bin 变量值,但是当我删除该函数时,所有显示都是正确的。请帮助我哪里出错了。
largeQ
相关分类