我有一个组件,它返回0到360度的值,我需要将该值传递给单位,例如从0到100。
我有以下功能,但看起来很难看
function degToValue( deg )
{
var unit = Math.ceil( ( deg * 100 ) / 360 );
if ( unit === 0 ) unit = 100;
if ( deg < 1.6 && deg > 0 ) unit = 0;
return unit;
}
你知道更优雅的方式吗?
答案 0 :(得分:1)
你可以除以3.6
并使用模数来使这更漂亮:
function degToValue( deg )
{
var unit = (deg / 3.6) % 100;
return (unit === 0 ? 100 : unit);
}
console.log( degToValue( 360 )); //100
console.log( degToValue( 0 )); //100
console.log( degToValue( 355 )); //98.61
console.log( degToValue( 719 )); //99.72