js实现turnright
实现向右旋转(Turn Right)功能
在JavaScript中实现向右旋转功能通常涉及对数组或矩阵的操作。以下是几种常见场景的实现方法:
数组旋转
将一个数组向右旋转k次:
function rotateRight(arr, k) {
k = k % arr.length;
return [...arr.slice(-k), ...arr.slice(0, arr.length - k)];
}
// 示例
const arr = [1, 2, 3, 4, 5];
console.log(rotateRight(arr, 2)); // 输出: [4, 5, 1, 2, 3]
二维矩阵旋转
顺时针旋转90度(向右旋转):
function rotateMatrix(matrix) {
const n = matrix.length;
for (let i = 0; i < Math.floor(n / 2); i++) {
for (let j = i; j < n - 1 - i; j++) {
let temp = matrix[i][j];
matrix[i][j] = matrix[n-1-j][i];
matrix[n-1-j][i] = matrix[n-1-i][n-1-j];
matrix[n-1-i][n-1-j] = matrix[j][n-1-i];
matrix[j][n-1-i] = temp;
}
}
return matrix;
}
// 示例
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log(rotateMatrix(matrix));
// 输出: [[7, 4, 1], [8, 5, 2], [9, 6, 3]]
DOM元素旋转
使用CSS transform实现DOM元素右转:
function turnRight(element, degrees = 90) {
element.style.transform = `rotate(${degrees}deg)`;
}
// 示例
const box = document.getElementById('box');
turnRight(box, 90); // 向右旋转90度
使用矩阵转置方法
另一种矩阵旋转方法:

function rotateRight(matrix) {
// 转置矩阵
const transposed = matrix[0].map((_, i) => matrix.map(row => row[i]));
// 反转每行
return transposed.map(row => row.reverse());
}
选择哪种方法取决于具体应用场景。数组旋转适用于一维数据,矩阵旋转适用于图像处理或游戏开发,DOM旋转适用于网页动画效果。






