7

。という名前のプロパティを持つカスタムJavaScriptオブジェクトの配列がありますorder。このオブジェクトの配列があり、「順序」が最も高いアイテムを取得したいと思います。

私はjQueryに比較的慣れておらず、C#のバックグラウンドを持っているので、これはLINQを高く評価している例の1つです:)

とにかく、長い話を短くするために、私は次のリンクをチェックしましたが、それらは値を返すだけで、配列要素自体の参照は返しません...したがって、要素を返すように変更するのに少し助けていただければ幸いです。

要素の配列からのjQueryの最小/最大プロパティ

要素のセットからの最大の高さを持つ要素

問題のカスタムオブジェクト(私は配列を持っています)は次のとおりです:

var severity = function (key, value, order) {
    this.key = key;
    this.value = value;
    this.order = order;
};
4

5 に答える 5

9

多分私はあなたを間違えました...しかしあなたが探しているのはそれですか?

function getHighest(array) {
    var max = {};
    for (var i = 0; i < array.length; i++) {
        if (array[i].order > (max.order || 0))
            max = array[i];
    }
    return max;
}

// var array = [object, object, object ...];
var highest = getHighest(array);

デモ:http: //jsfiddle.net/c6gfj/

于 2012-06-05T12:31:20.337 に答える
1
array[array.map((o)=>o.order).indexOf(Math.max(...array.map((o)=>o.order)))]

デモ :

let array=[{order:3},{order:5},{order:2},{order:2}];

console.log(
  array[array.map((o)=>o.order).indexOf(Math.max(...array.map((o)=>o.order)))]
)

于 2016-08-23T16:51:33.063 に答える
0

配列を並べ替えて、配列の最後のオブジェクトをポップします

function sortObj(a, b){
     return a.order < b.order ? 0 : 1;
}
obj.sort(sortObj)   
var highest =obj.pop();

デモ:http://jsfiddle.net/VaYNb/

于 2012-06-05T12:55:00.883 に答える
0

yourarray.sort()。itを使用すると、昇順から降順で並べ替えられます。2D配列にも有効です。

于 2012-06-05T13:02:50.693 に答える
-1

これを試して:

function getHighest(array, value){
  return array.sort(function(a,b){ b[value] - a[value] })[0];
}
于 2012-06-05T12:31:07.620 に答える