猿问

8个块的圆形转盘,传入的角度如果是负数如何计算对应的块是哪个?

如图是8个块的转盘,假如传入的角度值是负数,如何计算它对应是哪个块呢?

每个角度是 360 / 8 = 45

0 - 44 = 0
45 - 89 = 1
90 - 134 = 2
135 - 179 = 3
180 - 224 = 4
225 - 269 = 5
270 - 314 = 6
315 - 359 = 7

假如传入 -1,那么对应的块应该是7
传入 -46,对应的块应该是6
传入 90,对应的块应该是2

请问是怎么样的计算过程呢?


心有法竹
浏览 656回答 1
1回答

幕布斯7119047

看你的数据,是45个分为一组,所以应该先算除法取商:Math.floor(index / 45) 然后再用 8 取余,同时考虑负数的情况,先 +8 再取余function calcIndex(n) {    return (Math.floor(n / 45) + 8) % 8; }
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答