Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

オブジェクトの数値を正規化する-JavaScript


次のような数値に文字列がマップされたオブジェクトがあるとします-

const obj = {
   num1: 45,
   num2: 78,
   num3: 234,
   num4: 3,
   num5: 79,
   num6: 23
};

最初の引数として1つのオブジェクトを取り、2番目の引数として厳密に2つの数値の配列を受け取るJavaScript関数を作成する必要があります。

2番目の引数は基本的に範囲を表します-

[a, b] (b >= a)

私たちの仕事は、範囲に従ってオブジェクトの値を正規化することです。

したがって、オブジェクトの最大値はbになり、最小値はaになり、その間にある他の値はそれに応じて調整する必要があります。

以下はコードです-

const obj = {
   num1: 45,
   num2: 78,
   num3: 234,
   num4: 3,
   num5: 79,
   num6: 23
};
const range = [10, 15];
const normaliseObject = (obj, range) => {
   const values = Object.values(obj);
   const min = Math.min.apply(Math, values);
   const max = Math.max.apply(Math, values);
   const variation = (range[1] - range[0]) / (max - min);
   Object.keys(obj).forEach(el => {
      const val = (range[0] + ((obj[el] - min) * variation)).toFixed(2);
      obj[el] = +val;
   });
};
normaliseObject(obj, range);
console.log(obj);

出力

これにより、コンソールに次の出力が生成されます-

{
   num1: 10.91,
   num2: 11.62,
   num3: 15,
   num4: 10,
   num5: 11.65,
   num6: 10.43
}

  1. JavaScriptのRegExpオブジェクト。

    RegExpオブジェクトは、テキストの一部を検索および抽出することにより、一部のテキストのパターンマッチングに使用されます。 RegExpオブジェクトは、regexpコンストラクターまたはリテラル構文のいずれかを使用して作成できます。 以下は、JavaScriptのRegExpオブジェクトのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport"

  2. JavaScriptのオブジェクト初期化子

    オブジェクト初期化子は、新しく作成されたオブジェクトを初期化できるようにする式です。これは、プロパティ名の0個以上のペアと、中括弧{}で囲まれたオブジェクトの関連する値のコンマ区切りのリストです。 以下は、JavaScriptのオブジェクト初期化子のコードです。 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=d