From d29d4e93666cbffd4b6406e7175da09e8dabf195 Mon Sep 17 00:00:00 2001 From: bluesaxman Date: Tue, 8 Feb 2022 12:14:09 -0700 Subject: [PATCH] Added normalizeArray function --- libs/bluemath.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libs/bluemath.js b/libs/bluemath.js index 4b0f0b9..05162b5 100644 --- a/libs/bluemath.js +++ b/libs/bluemath.js @@ -119,7 +119,8 @@ class bound { normalize(valueArray=[...this.min.map(v => 0)]) { if (valueArray.length != this.min.length) { return [...this.min.map(v => 0)]; } return valueArray.map((value,index) => (value - this.min[index])/(this.max[index] - this.min[index])); - } + } + clamp(valueArray=[...this.min.map(v => 0)]) { if (valueArray.length != this.min.length) { return [...this.min.map((v,i) => Math.min(Math.max(0, v), this.max[i]))]; } return valueArray.map((value,index) => Math.min(Math.max(value,this.min[index]),this.max[index])); @@ -150,3 +151,9 @@ class boundValue { return this.setValue(this.value+mod); } } + +function normalizeArray(array) { + array = Array.isArray(array) ? array.map(e => !isNaN(e) ? e : 0) : [1]; + var sum = array.reduce((a,b) => a+b); + return array.map(v => v/sum); +}