将一个数值从一个范围重新映射到另一个范围。 例如,调用
map(2, 0, 10, 0, 100)
返回 20。前三个参数设置原始值为 2,原始范围从 0 到 10。最后两个参数设置目标范围从 0 到 100。20 在目标范围 [0, 100] 中的位置与 2 在原始范围 [0, 10] 中的位置成比例。 第六个参数 withinBounds
是可选的。默认情况下,map()
可以返回目标范围之外的值。例如,map(11, 0, 10, 0, 100)
返回 110。将 true
作为第六个参数传递可以将重新映射的值限制在目标范围内。例如,map(11, 0, 10, 0, 100, true)
返回 100。示例
语法
map(value, start1, stop1, start2, stop2, [withinBounds])
参数
value
数字:
要重新映射的值。
start1
数字:
当前范围的下限值。
stop1
数字:
当前范围的上限值。
start2
数字:
目标范围的下限值。
stop2
数字:
目标范围的上限值。
withinBounds
布尔:
将数值约束在新映射的范围内。
Returns
数字: 重新映射后的数字。
Notice any errors or typos? Please let us know. Please feel free to edit src/math/calculation.js and open a pull request!