任意给定一个二维数组,随意打乱二维数组中的所有元素,并对打乱前和打乱后的二维数组进行输出。js
时间: 2024-09-28 10:01:54 浏览: 36
leetcode盒子嵌套-leetcode:leetcode上的解决方案
在JavaScript中,你可以通过创建一个新的二维数组副本,然后使用Fisher-Yates洗牌算法(也称为Knuth shuffle)来随机打乱二维数组。下面是一个简单的例子:
```javascript
function shuffleArray(arr) {
let shuffledArr = JSON.parse(JSON.stringify(arr)); // 创建一个浅拷贝
for (let i = shuffledArr.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[shuffledArr[i], shuffledArr[j]] = [shuffledArr[j], shuffledArr[i]]; // 交换元素
}
return shuffledArr;
}
// 示例二维数组
const originalArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
const shuffledArray = shuffleArray(originalArray);
// 输出原始和打乱后的二维数组
console.log("Original Array:");
console.table(originalArray);
console.log("\nShuffled Array:");
console.table(shuffledArray);
阅读全文