LoginSignup
0
0

More than 3 years have passed since last update.

lodash自分用メモ Math

Posted at

lodashのArrayとCollectionをやってしばらく力尽きていましたが、また復活しようと思いました。lodashを使いたい時、何気に自分のQiitaの記事が役立つことがあったりしたからです。

Math

_.add

_.add(augend, addend)

引数に渡した2つの数字を足し合わせる

_.add(2, 3) // 5
// ↑ 3つ以上の引数は渡せない

_.ceil

_.ceil(number, [precision=0])

小数点を指定して、切り上げる
Math.ceil())と一緒

_.ceil(3.14) // 4

_.ceil(3.1415, 2) // 3.15

_.ceil(31415, -2) // 31500

_.divide

_.divide(dividend, divisor)

左の数を右の数で割り算する

_.divide(100, 5) // 20

_.divide(100, 9) // 11.11111111111111

_.floor

_.floor(number, [precision=0])

小数点を指定して、数字を切り捨て。
_.ceilに似ている。

_.floor(4.006) // 4

_.floor(3.14159, 2) // 3.14

_.floor(314159, -2) // 314100

_.max

_.max(array)

渡した配列の中から最大値を抽出してくれる。
空配列の場合はundefinedが返る。

_.max([4, 2, 8, 6]) // 8

_.max([]) // undefined

_.maxBy

_.maxBy(array, [iteratee=_.identity])

_.maxと機能は似ているが、iterateeを受け入れるところだけ異なる。
オブジェクトのプロパティを指定して集計することができる。

const pokemon = [
  {
    "name": "ピカチュウ",
    "level": 30,
  },
  {
    "name": "ヒトカゲ",
    "level": 26,
  },
  {
    "name": "ゼニガメ",
    "level": 29,
  },
  {
    "name": "フシギダネ",
    "level": 27,
  },
]

_.maxBy(pokemon, "level") // {"name":"ピカチュウ","level":30}

_.mean

_.mean(array)

配列内の数字の平均を出す。

_.mean([4, 2, 8, 6]) // 5

_.mean([10, 5, 6, 6, 8]) // 7

_.meanBy

_.meanBy(array, [iteratee=_.identity])

_.meanと機能は似ているが、iterateeを受け入れるところだけ異なる。
オブジェクトのプロパティを指定して集計することができる。

const pokemon = [
  {
    "name": "ピカチュウ",
    "level": 30,
  },
  {
    "name": "ヒトカゲ",
    "level": 26,
  },
  {
    "name": "ゼニガメ",
    "level": 29,
  },
  {
    "name": "フシギダネ",
    "level": 27,
  },
]

_.meanBy(pokemon, "level") // 28

_.min

_.min(array)

配列の数字の中から最小値を抽出する。
空配列の場合はundefinedを返す。

_.min([4, 2, 8, 6]) // 2

_.min([]) // undefined

_.minBy

_.minBy(array, [iteratee=_.identity])

_.minと機能は似ているが、iterateeを受け入れるところだけ異なる。
オブジェクトのプロパティを指定して集計することができる。

const pokemon = [
  {
    "name": "ピカチュウ",
    "level": 30,
  },
  {
    "name": "ヒトカゲ",
    "level": 26,
  },
  {
    "name": "ゼニガメ",
    "level": 29,
  },
  {
    "name": "フシギダネ",
    "level": 27,
  },
]

_.minBy(pokemon, "level") // { "name": "ヒトカゲ", "level": 26 }

_.multiply

_.multiply(multiplier, multiplicand)

渡した2つの数字の掛け算をする。

_.multiply(6, 4) // 24

_.multiply(3, 4, 5, 6, 7) // 12(3つ以上は渡せない)

_.round

_.round(number, [precision=0])

小数点を指定して、数字の四捨五入をする

_.round(3.14159) // 3

_.round(3.14159, 2) // 3.14

_.round(314159, -2) // 314200

_.subtract

_.subtract(minuend, subtrahend)

左の数から右の数を引き算する。

_.subtract(6, 4) // 2

_.subtract(100, 40) // 60

_.sum

_.sum(array)

配列の数字の合計を出す。

_.sum([4, 2, 8, 6]) // 20

_.sumBy

_.sumBy(array, [iteratee=_.identity])

_.sumと機能は似ているが、iterateeを受け入れるところだけ異なる。
オブジェクトのプロパティを指定して集計することができる。

const pokemon = [
  {
    "name": "ピカチュウ",
    "level": 30,
  },
  {
    "name": "ヒトカゲ",
    "level": 26,
  },
  {
    "name": "ゼニガメ",
    "level": 29,
  },
  {
    "name": "フシギダネ",
    "level": 27,
  },
]

_.sumBy(pokemon, "level") // 112

終わりに

久しぶりにlodashの自分用メモを作成しましたが、Mathを選んだのは、提供されている関数が他と比べて少なかったからです!
次はObjectあたりチャレンジします。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0