编程题:幼儿园小朋友排队混在一起,javascript
时间: 2023-10-21 20:02:01 浏览: 96
JavaScript for kids
题目要求:使用JavaScript编写代码实现幼儿园小朋友排队混在一起的场景。
解答:
```javascript
// 假设小朋友的信息保存在一个数组中
const children = [
{ name: '小明', age: 5 },
{ name: '小红', age: 4 },
{ name: '小刚', age: 5 },
{ name: '小丽', age: 4 },
{ name: '小强', age: 5 }
];
// 随机生成一个混在一起的队列
const mixedQueue = shuffleArray(children);
console.log('混在一起的队列:', mixedQueue);
// 生成随机整数
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
// 随机打乱数组的顺序
function shuffleArray(array) {
const shuffledArray = Array.from(array);
for (let i = shuffledArray.length - 1; i > 0; i--) {
const j = getRandomInt(0, i);
[shuffledArray[i], shuffledArray[j]] = [shuffledArray[j], shuffledArray[i]];
}
return shuffledArray;
}
```
这段代码首先定义了一个保存小朋友信息的数组,每个小朋友有姓名和年龄两个属性。然后使用`shuffleArray`函数对数组进行了乱序操作,实现了混在一起的效果。最后,使用`console.log`打印出混在一起的队列。
`getRandomInt`函数用于生成随机整数,参数`min`和`max`分别表示随机数的最小值和最大值。
`shuffleArray`函数使用了Fisher–Yates洗牌算法,通过交换数组中的元素,随机打乱了数组的顺序。遍历数组元素,将第`i`个元素与随机位置的元素交换,并返回打乱后的数组。
以上是一个简单的代码实现,满足了题目要求。
阅读全文