![](/img/trans.png)
[英]My array isn't taking any data in it, only one and that's it, and I don't understand why?
[英]I don't understand why this function's output is one
這是一個用於在 (3*3) 矩陣中移動行的代碼。
const transY =(arr)=> {
const arrtY = [];
for (let i = 1; i < 4; i++) {
for (let j = 0; j < 3; j++) {
if (i==3) {
return arrtY.unshift(arr[3*0+j]);
}
return arrtY.push(arr[3*i+j]);
}
}
return arrtY;
}
預期輸出(在數組中):
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
當我在控制台中登錄 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(0);
rowpush(1);
return arrtY;
}
可能的解決方案:
function transform(arr) { var res = []; for(var i = 6; res.length < 9; i = (i + 1) % 9) res.push(arr[i]); return res; } var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(JSON.stringify(arr)) arr = transform(arr); console.log(JSON.stringify(arr)) arr = transform(arr); console.log(JSON.stringify(arr))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.