みかづきブログ・カスタム

基本的にはちょちょいのほいです。

lodashを使って数値が要素の配列(number[])をソートする 1️⃣

これまで、数字が要素の配列をソートする場合、

const arr = [8, 8, 2, 3];

// 昇順
[${ arr }].sort((a, b) => {
  return a < b ? -1 : 1
}); // => [2, 3, 8, 8]

[${ arr }].sort((a, b) => {
  return a < b ? 1 : -1
}); // => [8, 8, 3, 2]

という感じで、Array.prototype.sort を使っていました。

developer.mozilla.org

ソートはlodashを使うと、若干シンプルにかけます。

// 昇順
_.sortBy([${ arr }]); // => [2, 3, 8, 8]

// 昇順
_.orderBy([${ arr }]); // => [2, 3, 8, 8]

// 降順
_.orderBy([${ arr }], 'desc'); // => [8, 8, 3, 2]

lodash.sortBy で昇順に、 lodash.orderBy (第2引数なし)でも昇順に、 lodash.orderBy (第2引数'desc')で降順にソートできます。

lodash.com
lodash.com

これだけのためにlodashを導入することはなさそうですが、lodash導入済みのプロジェクトであれば積極的に使っていきたいです。

DEMO