本文主要是介绍[随手记录]使一个值经过调整后向一个基础值“靠近”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使一个值经过调整后向一个基础值靠近
主要针对两种应用情况:
情况1——例如:向1靠近,-7加上调整值10后应当得到结果1。(由于-7+10越过了1,则直接取1。)
情况2——例如:向0靠近,–3加上4后,取1。(由于1到0比-3到0的绝对值要更小)
代码
情况1:
function moveToBase_1(base,origin,adjust){let result = origin+adjust;if(origin<result?origin:result<=base && base<=origin<result?result:origin) return base;else return result;
}
情况2:
function moveToBase_2(base,origin,adjust){let result = origin+adjust;return Math.abs(result-base)<Math.abs(origin-base)?result:origin;
}
综合一下就是:
function moveToBase(base,origin,adjust){let result = origin+adjust;if(Math.min(origin,result)<=base && base<=Math.max(origin,result)) return base;else return Math.abs(result-base)<Math.abs(origin-base)?result:origin;
}
这篇关于[随手记录]使一个值经过调整后向一个基础值“靠近”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!