細かすぎて伝わらないjQuery拡張 (2) “$.chainCase” – Advent Calendar 2016
この記事は賞味期限切れです。(更新から1年が経過しています)
$.chainCase() は、キャメルケースの文字列をチェインケース・スネークケースに変換する関数です。
$.chainCase(str, delimiter)
使い方
$.chainCase("fooBarBaz"); // => "foo-bar-baz"
$.chainCase("FooBarBaz"); // => "foo-bar-baz"
$.chainCase("fooBarBaz", "_"); // => "foo_bar_baz"
- 第二引数で区切り文字を指定してやると、スネークケースに変換する事もできます。
コード
$.chainCase = function(str, delimiter){
delimiter = delimiter || "-";
return str.replace(/[A-Z]/g, function(s){
return delimiter + s.toLowerCase();
})
.replace(new RegExp("^\\" + delimiter), "");
};
昔のコードから発掘してきた関数なのですが、 どういう用途で使おうとしていたのかは思い出せませんでした。
jQueryには jQuery.camelCase() というチェインケースからキャメルケースへの変換をおこなう関数が実装されています。 jQuery.camelCase() は、jQuery.fn.data() や jQuery.fn.css() の内部で名前を書き換えるために使われています。 こちらも直接呼び出す場面はあまりなさそうですね。
コメント