JavaScript の split メソッドを使ったら「あれ?」となったのでメモ。
一般的な spilt メソッド
Java, C#, Ruby, Perl の split
メソッドは、第二引数に limit
を指定できます。
これを指定すると分割回数が制限されます。
(下記の例だと、文字列を2つに分割しています)
Java "aaa,bbb,ccc".split(",", 2) // ==> String[2] { "aaa", "bbb,ccc" }
C# "aaa,bbb,ccc".Split(new char[]{','}, 2) // ==> String[2]{ "aaa", "bbb,ccc" }
Ruby "aaa,bbb,ccc".split(",", 2) # ==> ["aaa", "bbb,ccc"]
Perl split(/,/, "aaa,bbb,ccc", 2) # ==> ("aaa", "bbb,ccc")
JavaScript の spilt メソッド
JavaScript の split
メソッドも、第二引数に limit
を指定できます。
ただ、ほかの言語と意味が違っていて、これを指定すると戻り値の要素数が制限されます。
(下記の例だと、文字列を分割して最初の2つを返しています)
JavaScript "aaa,bbb,ccc".split(",", 2) // ==> Array [ "aaa", "bbb" ]
MDN には「見つかった分割結果の数の制限を指定する整数です。」と書かれています。
パッと読んだ感じほかの言語と同じかなっと思ったんですが、よく考えると違ったという…。
お気を付けください!