Javascript 我不知道';我不明白为什么这个函数';s的输出是1
这是一个代码,用于移动(3*3)矩阵中的行 当我在控制台中登录arrtY时,我只看到1。这里有一个解决方案Javascript 我不知道';我不明白为什么这个函数';s的输出是1,javascript,arrays,for-loop,matrix,Javascript,Arrays,For Loop,Matrix,这是一个代码,用于移动(3*3)矩阵中的行 当我在控制台中登录arrtY时,我只看到1。这里有一个解决方案 const transY =(arr)=> { const arrtY = []; function rowpush(i) { for (let j = 0; j < 3; j++) { arrtY.push(arr[3*i+j]); } } rowpush(2); rowpush
const transY =(arr)=> {
const arrtY = [];
function rowpush(i) {
for (let j = 0; j < 3; j++) {
arrtY.push(arr[3*i+j]);
}
}
rowpush(2);
rowpush(0);
rowpush(1);
return arrtY;
}
const transY=(arr)=>{
常数=[];
功能行推送(i){
for(设j=0;j<3;j++){
arrtY.push(arr[3*i+j]);
}
}
rowpush(2);
rowpush(0);
rowpush(1);
回程到达;
}
可能的解决方案:
函数变换(arr){
var-res=[];
对于(变量i=6;分辨率长度<9;i=(i+1)%9)
再推(arr[i]);
返回res;
}
var-arr=[1,2,3,4,5,6,7,8,9];
log(JSON.stringify(arr))
arr=变换(arr);
log(JSON.stringify(arr))
arr=变换(arr);
console.log(JSON.stringify(arr))我看到的输出是:
Uncaught ReferenceError:arr1未定义
能否提供一个可运行的代码段来说明问题?删除前两个return
s.@Igor谢谢先生。但是,结果数组的长度为12个条目,并且条目的顺序不符合预期。我想我可以解决这个问题,但任何建议都会有帮助。
1 2 3 7 8 9 4 5 6
4 5 6 ==> 1 2 3 ==> 7 8 9 ==> [...]
7 8 9 4 5 6 1 2 3
const transY =(arr)=> {
const arrtY = [];
function rowpush(i) {
for (let j = 0; j < 3; j++) {
arrtY.push(arr[3*i+j]);
}
}
rowpush(2);
rowpush(0);
rowpush(1);
return arrtY;
}