見出し画像

[node][lodash] オブジェクトをkeyでソートする

オブジェクトを key でソートするには次のようにします。

obj = _(obj).toPairs().sortBy(0).fromPairs().value();

サンプルコードはこちら。

// ソート対象のオブジェクト例
let obj = {
  "2019/2": [
    { name: "Sara", age: 19 },
    { name: "Bobby", age: 30 },
  ],
  "2019/4": [
    { name: "Mike", age: 42 },
  ],
  "2018/12": [
    { name: "Jessy", age: 15 },
    { name: "D.J.", age: 10 },
    { name: "Mary", age: 80 },
  ],
  "2019/1": [
    { name: "Tomas", age: 3 },
  ],
  "2019/3": [
    { name: "Paker", age: 20 },
    { name: "Josef", age: 30 },
  ],
};

// key でソートする
obj = _(obj).toPairs().sortBy(0).fromPairs().value();

/* => 
obj = {
  "2018/12": [
    { name: "Jessy", age: 15 },
    { name: "D.J.", age: 10 },
    { name: "Mary", age: 80 },
  ],
  "2019/1": [
    { name: "Tomas", age: 3 },
  ],
  "2019/2": [
    { name: "Sara", age: 19 },
    { name: "Bobby", age: 30 },
  ],
  "2019/3": [
    { name: "Paker", age: 20 },
    { name: "Josef", age: 30 },
  ],
  "2019/4": [
    { name: "Mike", age: 42 },
  ],
};
 */


この記事が気に入ったらサポートをしてみませんか?