在不知道最小/最大值的情况下规范化数组的值范围

时间:2017-11-09 15:32:37

标签: javascript arrays

是否可以将数组的值排列为0.0到1.0的范围。但无需事先知道阵列的最小值和最大值。说我在下面有这个。

Event:7.3339,5.20755,25343052,11.8282,-1,1,146511,-0.584812,1.41411,1.23406,-2.27636,6.23602,2.3905,2.06042,-1.55016,5.8858,-1.81976,-3.85836,4.62525

所以在将来我想确保通过以编程方式找到最小值/最大值来将其归一化到给定范围。

1 个答案:

答案 0 :(得分:1)

您可以获取{% load tags %} {% users|json %} min值,并为每个值减去max值并除以minmax的增量值。< / p>

min仅用于显示标准化值。

toFixed
function getNormalized(array) {
    var min = Math.min(...array),
        max = Math.max(...array);

    return array.map(v => (v - min) / (max - min));
}

var array = [7.3339, 5.20755, 25343052, 11.8282, -1, 1, 146511, -0.584812, 1.41411, 1.23406, -2.27636, 6.23602, 2.3905, 2.06042, -1.55016, 5.8858, -1.81976, -3.85836, 4.62525];

console.log(getNormalized(array).map(v => v.toFixed(10)));