1. ホーム
  2. javascript

[解決済み] JavaScript のオブジェクトの配列を比較し、最小値/最大値を取得する

2022-07-10 01:44:17

質問

オブジェクトの配列があり、特定のオブジェクトのプロパティでそれらのオブジェクトを比較したい。ここに私の配列があります。

var myArray = [
    {"ID": 1, "Cost": 200},
    {"ID": 2, "Cost": 1000},
    {"ID": 3, "Cost": 50},
    {"ID": 4, "Cost": 500}
]

私は、quot;cost" を具体的にゼロにして、最小値と最大値を取得したいと思います。私は、コストの値を取得して、javascriptの配列にプッシュし、次に 高速な JavaScript の最大/最小値 .

しかし、途中で配列のステップをバイパスして、オブジェクトのプロパティ(この場合は "Cost")を直接オフにすることで、これを行うより簡単な方法はありますか?

どのように解決するのですか?

ひとつの方法として、すべての要素をループして、最高値/最低値で比較する方法があります。

(配列を作成し、配列のメソッドを呼び出すことは、この単純な操作のためには過剰なことです)。

 // There's no real number bigger than plus Infinity
var lowest = Number.POSITIVE_INFINITY;
var highest = Number.NEGATIVE_INFINITY;
var tmp;
for (var i=myArray.length-1; i>=0; i--) {
    tmp = myArray[i].Cost;
    if (tmp < lowest) lowest = tmp;
    if (tmp > highest) highest = tmp;
}
console.log(highest, lowest);