ネストされたプロパティによってソートする_.orderBy()
メソッドによって返された最初のオブジェクトのキーを返したいとします。Lodashでソートされたプロパティのキーを取得する
Here is the CodePen demo.この場合、返すキーは"charlie"
です。
console.clear();
const ob = {
"alpha": {
"id": 27,
"lottery": {
"id": 1,
"name": "La Primitiva",
"jackpotAmount": 500,
}
},
"bravo": {
"id": 28,
"lottery": {
"id": 1,
"name": "La Primitiva",
"jackpotAmount": 10,
}
},
"charlie": {
"id": 29,
"lottery": {
"id": 1,
"name": "La Primitiva",
"jackpotAmount": 1000,
}
},
}
const out = _.orderBy(ob, (e) => {
return e.lottery.jackpotAmount;
}, ['desc']); // How do I get key of first property, "charlie"?
console.log(out);
いいアイデア。小さな修正 - '_.minBy()'を使う必要があります。なぜなら '_.min()'はコールバックを受け入れないからです。さらに、ユーザーが最も高い 'jackpotAmount'値(ソートは降順)を望むので、' _.maxBy() 'を使用してください。 –
'_.max()'を使って動作します。 [ペンはこちら](https://codepen.io/anon/pen/gGxVyG?editors=0012) – Mowzer
@OriDrori - ああ、申し訳ありませんが、良いキャッチ。私はアンダースコアmin()ではなく、lodash min()を考えていました。私は答えのコードを更新しました。 – James