私はいくつかのプロパティで注文したいオブジェクトの配列を持っています。私はいくつかの基準に従って、アレイを注文したいと私は複数の条件を満たすカスタムarray.sort関数。ブール
if (a.priority != b-priority){
return a-priority - b-priority;
else if a.shooterid != b.shooterid){
return a.shooterid - b. shooterid
}
else return a.targetid - b.targetid
を使用することにより、優先度、シューターやターゲットによってソートを行うことができ、アレイ
var ele = {
id: INT, various,
priority: INT 1 - 10,
shooterid: INT various,
targetid: INT various,
flight: BOOL
}
の単一の要素を紹介しよう
イム
しかし、私もフライトで並べ替えたいと思っており、flight = true
のすべての要素を最後に並べ替えたいのですが上記の並べ替えにしてください。
がどのように私はBOOLの小道具のために含まれるようにソートを拡張することができます...セルフ(あれば以前に他の追加)/場合、私はif (a.flight){return -1/0/1}
に上記の非常にトップを試してみましたが、それは仕事をdidntの?
いくつかの小さなサンプルデータを追加してください。 –
「飛行」の比較を最初に行うだけです。 「飛行」の特性が異なる場合は、それ以外は重要ではない。あなたは "うまくいきません"と言いますが、*働きます。何が間違っていたのかを説明してください。 – Pointy
文字通り、コード 'return -1/0/1'を試しましたか?それは負の「無限大」(負の値を1で割った値を1で割った値)です - それはあなたの意図ですか?あるいは、これらの値をそれぞれ別々に試してみて、何も働かないということですか? – apsillers