適用シナリオ:バックエンドに渡されるパラメータがキャメルケースで命名され、エコー時にアンダースコアが使用されることがあります。この場合、キー値を変更する必要があります。 方法 1: 正規表現 (推奨)水平線が下向きのキャメルケース: 関数toLowerLine(str) { var temp = str.replace(/[AZ]/g, 関数(一致) { "_" + match.toLowerCase() を返します。 }); if(temp.slice(0,1) === '_'){ //最初の文字が大文字の場合、置換を実行するときに余分な _ が追加されるので、ここで削除する必要があります temp = temp.slice(1); } 温度を返します。 }; console.log(toLowerLine("TestToLowerLine")); //test_to_lower_line console.log(toLowerLine("testToLowerLine")); //test_to_lower_line 下の水平線がキャメルケースになります。 関数 toCamel(str) { str.replace(/([^_])(?:_+([^_]))/g、関数($0、$1、$2)を返します{ $1 + $2.toUpperCase() を返します。 }); } console.log(toCamel('test_to_camel')); //testToCamel 方法2: 配列のreduceメソッドを使用する水平線が下向きのキャメルケース: 関数doLowerLine(前の値、現在の値、現在のインデックス、配列){ if(/[AZ]/.test(currentValue)){ 現在の値 = 現在の値.toLowerCase(); if(現在のインデックス===0){ 前の値 + 現在の値を返します。 }それ以外{ 前の値 + '_' + 現在の値を返します。 } }それ以外{ 前の値 + 現在の値を返します。 } } 関数toLowerLine(arr){ if(arr型 === '文字列'){ arr = arr.split(''); } arr.reduce(doLowerLine,'') を返します。 } var a = 'TestToLowerLine'; var res1 = toLowerLine(a); // テスト_to_lower_line var res2 = [].reduce.call(a,doLowerLine,''); //test_to_lower_line 下の水平線がキャメルケースになります。 関数doCamel(前の値、現在の値、現在のインデックス、配列){ 現在の値 === '_' の場合{ previousValue + currentValue.toUpperCase() を返します。 }それ以外{ 前の値 + 現在の値を返します。 } } 関数 toCamel(str) { if(typeof str === '文字列'){ str = str.split(''); // 文字配列に変換} str.reduce(doCamel) を返します。 } console.log(toCamel('test_to_camel')); //TestToCamel 方法3: 配列のマップメソッドを使用する水平線が下向きのキャメルケース: 関数doLowerLine(val, index, arr){ if(/[AZ]/.test(val)){ if(インデックス===0){ val.toLowerCase() を返します。 }それ以外{ '_'+val.toLowerCase() を返します。 } }それ以外{ 戻り値: } } 関数toLowerLine(arr){ if(arr型 === '文字列'){ [].map.call(arr,doLowerLine).join('') を返します。 // Array.prototype.map.call(arr, doLowerLine).join(''); }それ以外{ arr.map(doLowerLine).join('') を返します。 } } var a = 'TestToLowerLine'; var res1 = [].map.call(a,doLowerLine).join(''); //test_to_lower_line var res2 = toLowerLine(a); // テスト_to_lower_line JS 文字列のアンダースコア命名とキャメルケース命名の変換1. キャメルケースからハイフンへ: var s = "fooStyleCss"; s = s.replace(/([AZ])/g,"-$1").toLowerCase(); //正規表現を使用して置換します。簡潔で明確、素晴らしい 2. こぶを回す var s1 = "foo-style-css"; s1 = s1.replace(//-(/w)/g, 関数(すべて, 文字){ letter.toUpperCase() を返します。 }); //この部分 2 はよくわかりません。 それで自分で書いてみました。^_^、これはわかりやすいですが、コードが少し多くなっています。 var s = "スタイルシートベース"; var a = s.split("-"); var o = a[0]; for(var i=1;i<a.length;i++){ o = o + a[i].slice(0,1).toUpperCase() + a[i].slice(1); } 今度は正規表現を使用して、別のコードを記述します。 var s1 = "スタイルシートベース"; s1 = s1.replace(//-(/w)/g, function(x){return x.slice(1).toUpperCase();}); js アンダーラインとキャメルケース間の変換の実装(複数の方法)に関するこの記事はこれで終わりです。js アンダーラインとキャメルケース間の変換に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: HTML テーブルタグチュートリアル (12): 境界線スタイル属性 FRAME
>>: Rabbitmq heartbea ハートビート検出メカニズムの原理の分析
CentOS 8 が正式にリリースされました! CentOS は Red Hat の再配布ポリシー...
Macはシェル(ターミナル)SSHを使用してリモートサーバーに接続します前提条件: 接続する必要があ...
目次意味文法例1. 初期値initが渡されない2. 初期値を渡す場合3. アレイの重複排除4. Re...
HTTP ステータス コードステータス コードは 3 桁の数字と理由フレーズ (最も一般的なもの: ...
MySQL の運用と保守において、R&D の同僚が 2 つの異なるインスタンスのデータを比較...
jQueryは劇場の座席選択と予約の効果を実現します。参考までに、具体的な内容は次のとおりです。効果...
セットアップは、結合された API を記述するために使用されます。テンプレートが使用できるようにする...
目次FastDFSについて1. 画像を検索する2. イメージをインストールする3.1. 必要なディレ...
システム環境: Ubuntu 16.04LTSこの記事では、6 つの Docker コンテナを使用し...
これら 16 のサイトはそれぞれ注意深く読む価値があり、どのサイトでも推奨されている Web サイト...
MySQL データベースは、特に JAVA プログラマーの間で広く使用されています。クラウド データ...
MySQL Workbench - モデリングおよび設計ツール1. モデルは、最も効果的で高性能なデ...
目次序文InnoDB ストレージ アーキテクチャInnodb テーブルスペースインドストレージディス...
目次1. リクエストを取得する: 2. 投稿リクエスト: 3. 拡張と補足Vue スキャフォールディ...
VMwareaのインストールプロセスは説明しませんが、主にwin7イメージをロードする方法を説明しま...