68356


TypeScriptで例えば

[code]

    type sample {
      x: string;
      y: number;
    }
    
[/code]

のようなtypeを定義して、これを複数持つ次のような配列があった時に、

[code]

    [
      {x: "hello", y: 1},
      {x: "world", y: 5},
      {x: "foo", y: 3},
      {x: "bar", y: 2},
    ]
    
[/code]

yの値で小さい方から大きい方に並び替えをして次のようにするにはどうしたら良いでしょう？

[code]

    [
      {x: "hello", y: 1},
      {x: "bar", y: 2},
      {x: "foo", y: 3},
      {x: "world", y: 5},
    ]
    
[/code]

どなたか効率の良い方法をご存知ないですか？よろしくお願いします。


CC BY-SA 4.0
2020-07-07T00:39:12.590
68355
2020-07-07T01:46:35.960
35503
question
javascript typescript
TypeScriptでオブジェクトの要素の１つで配列をsortするには


本家SOの[回答のObjectsの項](https://stackoverflow.com/a/21689268)のようにsort関数を使うのが高速で安定したソート方法ではないでしょうか。

[code]

    var objectArray: { x: string; y: number; }[] = [
      {x: "hello", y: 1},
      {x: "world", y: 5},
      {x: "foo", y: 3},
      {x: "bar", y: 2},
    ];
    
    var sortedArray: { x: string; y: number; }[] = objectArray.sort((n1,n2) => {
        if (n1.y > n2.y) {
            return 1;
        }
    
        if (n1.y < n2.y) {
            return -1;
        }
    
        return 0;
    });
    
[/code]


CC BY-SA 4.0
2020-07-07T01:46:35.960
68356
2020-07-07T01:46:35.960
9820
68355
answer