如何将数组重新缩放到 Javascript 中的值范围?
How Can I Re-scale An Array To A Range Of Values in Javascript?
我想用一个函数重新缩放二维数组,其中可以指定最小和最大输入范围以及最小和最大输出范围。例如,我们要将值 0 到 8 重新缩放为 0 到 1。
const scale = (num, in_min, in_max, out_min, out_max) => {
return (num - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
var array_scaled = orignal_array.map(scale(num, 0, 8, 0, 1));
}
代码产生以下错误:
ReferenceError: num 未定义
从地图中调用比例函数的正确语法是什么?
Array.prototype.map()
接受一个回调函数作为它的第一个参数。
看来num
没有定义为数组的当前元素到回调函数scale()
尝试var array_scaled = orignal_array.map(array_num => scale(array_num, 0, 8, 0, 1));
我猜 map 的参数一定是一个函数,即:
var array_scaled = orignal_array.map(num=>scale(num, 0, 8, 0, 1));
我想用一个函数重新缩放二维数组,其中可以指定最小和最大输入范围以及最小和最大输出范围。例如,我们要将值 0 到 8 重新缩放为 0 到 1。
const scale = (num, in_min, in_max, out_min, out_max) => {
return (num - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
var array_scaled = orignal_array.map(scale(num, 0, 8, 0, 1));
}
代码产生以下错误: ReferenceError: num 未定义
从地图中调用比例函数的正确语法是什么?
Array.prototype.map()
接受一个回调函数作为它的第一个参数。
看来num
没有定义为数组的当前元素到回调函数scale()
尝试var array_scaled = orignal_array.map(array_num => scale(array_num, 0, 8, 0, 1));
我猜 map 的参数一定是一个函数,即:
var array_scaled = orignal_array.map(num=>scale(num, 0, 8, 0, 1));