1

重複の可能性:
オブジェクトのプロパティの 1 つに基づいてオブジェクトの JavaScript 配列を並べ替える

z というプロパティを持つオブジェクトがあります。

function building(z)
{
  this.z = z;
}

このオブジェクトの 3 つのインスタンスを作成するとします。

a = new building(5)
b = new building(2)
c = new building(8)

これらのインスタンスは配列に配置されます

buildings = []
buildings.push(a)
buildings.push(b)
buildings.push(c)

質問

含まれるオブジェクトのzプロパティに基づいて、この配列を昇順で並べ替えるにはどうすればよいですか? 並べ替え後の最終結果は次のようになります。

before -> buildings = [a, b, c] 
sort - > buildings.sort(fu)
after -> buildings = [b, a, c] 
4

1 に答える 1

5

比較関数を渡すことができます.sort()

function compare(a, b) {
  if (a.z < b.z)
     return -1;
  if (a.z > b.z)
     return 1;
  return 0;
}

次に使用します:

myarray.sort(compare)

ここにいくつかのドキュメントがあります

于 2012-10-28T13:12:33.677 に答える