Transfrom
transform(inputValue, inputRange, outputRange, options): T
这个方法能把传入的inputValue转换成inputRange和outputRange映射后的在outputRange范围内的映射值。返回一个数据的类型决定于你传入数据的类型。
当你传入的inputRange是一个[0,200]的数组,同时你传入的outputRange是[0,1],那么这个函数返回的是就是0到1范围内的一个数,当然,前提是你传入的数据是在0-200范围内的。你传入的值必须是这个连续范围内一个数。outputValue范围类型支持数字、颜色、投影、数组和对象以及更多。每一个返回的值的类型都和输入的inputValue值保持一致。
inputValue: number
一个需要被转换的数据
inputRange: number[]
inputValue的值的范围
outputRange: T[]
支持多种数据类型,比如numbers, colors, shadows, arrays和objects
options: TransformOptions<T>
Clamp: 是否现在数据在给定的范围内,默认是true
returns: T
Ranges
transform方法同样也支持传入的范围数组包含的数据超过2个。比如说下面这个例子,当inputValue是[ -200, -100, 100, 200 ],outputValue 范围是[ 0, 1, 1, 0 ],那么这个函数会返回:
- 当inputValue的值在 -200 到 -100之间,那么返回一个值是0到1范围的
- 当inputValue的值在-100 到 100之间,那么返回的值都是1
- 当inputValue的值在100 到 200之间,那么返回的值是1到0的范围
transform(inputRange, outputRange, options): (inputValue: number) => T
为了提高运行效果,可以先将inputRange和outputRange传入到transform函数中,这将回返回一个函数。然后再将要转换的数据,在需要转换时传进去。
inputRange: number[]
连续的数据值范围
outputRange: T[]
支持多种数据类型,比如numbers, colors, shadows, arrays和objects
options: TransformOptions<T>
Clamp: 是否现在数据在给定的范围内,默认是true
returns: (inputValue: number) => T
Last updated
Was this helpful?