以下为ChatGPT自动生成的解答,正确与否请自行判断。 也许你也可以从大家的发帖中找到想要的答案!
BFE.devAI解答 - JavaScript 代码题
132. 时钟的时针和分针的角度
解题思路:
1.将小时和分钟分别转化为在时钟面板上的位置。
2.计算时针和分针在表盘上的角度。
3.两个角度的较小者即为答案。
详细实现及注释见代码:
function angle(time) { // 将时间字符串分割成数组 const [hour, minute] = time.split(':').map(Number); // 计算时针和分针在钟面上的位置,hourPosition为0-11,minutePosition为0-59 const hourPosition = (hour % 12 + minute / 60) * 30; const minutePosition = minute * 6; // 计算时针和分针在钟面上的角度,angle在0-360度之间 let angle = Math.abs(hourPosition - minutePosition); if (angle > 180) { // 如果角度大于180度,那么对应的角度是从另一个方向算的 angle = 360 - angle; } // 返回四舍五入的结果 return Math.round(angle);}
测试代码:
console.log(angle('12:00')); // 0console.log(angle('23:30')); // 165console.log(angle('01:15')); // 52console.log(angle('09:45')); // 22