Javascript 如何将数组矩阵n x n旋转k次?

Javascript 如何将数组矩阵n x n旋转k次?,javascript,node.js,Javascript,Node.js,我目前已进行了90度旋转,但我不知道如何输入任何旋转次数。 例如: 1.网格=n*n 2.K=旋转次数 我只能让它旋转一次,现在我必须这样做,使K可以是一个动态数 这是我的密码 函数旋转(){ var矩阵=[[0,16255,1],[8128,32,1],[0,0,0,1],[1,1,1]; const N=matrix.length-1;//使用常数 //使用箭头函数和嵌套映射; 常量结果=矩阵.map((行,i)=> 行映射((val,j)=>矩阵[N-j][i]) ); matrix.l

我目前已进行了90度旋转,但我不知道如何输入任何旋转次数。
例如:
1.网格=n*n
2.K=旋转次数

我只能让它旋转一次,现在我必须这样做,使K可以是一个动态数

这是我的密码

函数旋转(){
var矩阵=[[0,16255,1],[8128,32,1],[0,0,0,1],[1,1,1];
const N=matrix.length-1;//使用常数
//使用箭头函数和嵌套映射;
常量结果=矩阵.map((行,i)=>
行映射((val,j)=>矩阵[N-j][i])
);
matrix.length=0;//保留原始数组引用
matrix.push(…结果);//扩展运算符
控制台日志(矩阵);
收益矩阵;
}
我的提案

Array.prototype.Rotate=函数(RotateNumber)
{
让len=this.length
为了(让我想想这个)
{
如果(!Array.isArray(l))抛出“这不是矩阵!”
如果(l.length!==len)抛出“这不是一个正方形矩阵!”
}
设r=RotateNumber%4//max 3旋转
if(r)
{ 
设t=[]
对于(设j=A.length;j--;)t.push(A[j][i])
返回t
})
this.forEach((r,i)=>r.forEach((c,j)=>this[i][j]=temp[i][j])//复制值
}
还这个
}
/////////////////////////////////////试验件///////////////////
函数矩阵显示(注释、矩阵)
{
设prev='['
console.log(注释“=”)
for(矩阵的let行)
{
console.log(prev+'['+line.map(col=>'${col}'`).join(',')+']'))
上一个=','
}
console.log(']')
}
var矩阵=
[a',b',c',d']
, [ '1', '2', '3', '4' ] 
,['X','Y','Z','W']
, [ '8', '7', '6', '5' ] 
] 
矩阵显示(“矩阵开始”,矩阵,3)
矩阵显示(“矩阵R2”,矩阵旋转(2),3)
矩阵显示(“矩阵R-3”,矩阵旋转(-3),3)
矩阵显示(“矩阵R1”,矩阵旋转(1),3)
.as控制台{背景色:黑色!重要;颜色:石灰;}

。作为控制台包装器{最小高度:100%!重要;顶部:0;}
旋转(rotate())
旋转两次?您好,用户输入的旋转次数。@jonaswillms用户输入的旋转次数。