JavaScript のsplit() メソッドで配列に分割する際に、数値型で分割する方法
今日何気なく発見したことを書く。どうでも良いことだけど、そういえばそうかーというようなプチ発見。
const numberList = '1,2,3' // 普通にsplitすると文字列型の配列で返る numberList.split(',') // => ["1", "2", "3"] // 下記のようにやると、数値型の配列で返る numberList.split(',').map(Number) // => [1, 2, 3]
これは実際にはこういう形となっている
numberList.split(',').map(n => { return Number(n) })
Number
それ自体が関数だから、Numberを適用して返しているという感じ。
なので、下記のように関数を作成して適用する事ができる。
// 引数で渡した文字を数値に変換して +1 して返す関数 const inc = n => { return Number(n) + 1 } numberList.split(',').map(inc) [ 2, 3, 4 ]
考えてみればなんてことないことだし、たぶん日常的によく使っているような気もするけど、 numberList.split(',').map(Number)
という書き方もできるんだよなーとふと思ったのでメモに残しておく