好的!让我再次为你展示如何在JavaScript中分别解决这四个问题,并确保代码简洁易懂。
### 1. 从1到54随机取数并分组排序
function getRandomGroups() {
let nums = Array.from({length: 54}, (_, i) => i + 1); // 创建包含1到54的数组
nums.sort(() => Math.random() - 0.5); // 随机打乱数组
let group1 = nums.slice(0, 17).sort((a, b) => a - b);
let group2 = nums.slice(17, 34).sort((a, b) => a - b);
let group3 = nums.slice(34, 51).sort((a, b) => a - b);
let remaining = nums.slice(51).sort((a, b) => a - b);
console.log("Group 1:", group1);
console.log("Group 2:", group2);
console.log("Group 3:", group3);
console.log("Remaining:", remaining);
}
getRandomGroups();
### 2. 删除整数数组中的重复数据
function removeDuplicates(arr) {
return Array.from(new Set(arr)); // 使用Set自动去重
}
console.log(removeDuplicates([1, 2, 2, 3, 4, 4, 5])); // 示例,输出[1, 2, 3, 4, 5]
### 3. 基姆拉尔森计算公式计算星期值
基姆拉尔森计算公式如下:
- \( h \) 是星期几 (0 = 星期六, 1 = 星期日, 2 = 星期一, ..., 6 = 星期五)
- \( q \) 是日
- \( m \) 是月 (3 = 三月, 4 = 四月, ..., 12 = 十二月;1 = 一月和2 = 二月,视为前一年的 13 和 14 月)
- \( K \) 是年份的后两位
- \( J \) 是世纪数 (年份前两位)
function dayOfWeek(year, month, day) {
if (month < 3) {
month += 12;
year -= 1;
}
const q = day;
const m = month;
const K = year % 100;
const J = Math.floor(year / 100);
const h = (q + Math.floor((13 * (m + 1)) / 5) + K + Math.floor(K / 4) + Math.floor(J / 4) + 5 * J) % 7;
const d = ((h + 5) % 7) + 1; // 转换 h 到 1(星期一) 到 7(星期天)
return d;
}
console.log(dayOfWeek(2023, 10, 3)); // 例如:2023年10月3日
### 4. 创建圆对象,具有半径、圆心坐标、边框颜色属性,并计算面积
class Circle {
constructor(radius, centerX, centerY, borderColor) {
this.radius = radius;
this.centerX = centerX;
this.centerY = centerY;
this.borderColor = borderColor;
}
getArea() {
return Math.PI * this.radius * this.radius;
}
toString() {
return `Circle with radius: ${this.radius}, center: (${this.centerX}, ${this.centerY}), border color: ${this.borderColor}`;
}
}
// 示例用法
let circle = new Circle(10, 0, 0, 'red');
console.log(circle.toString());
console.log("Area: ", circle.getArea());
希望这些代码能够帮助你理解并解决这四个问题!如有进一步的疑问,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |