非常に高レベルで一般的に使用される機能の豊富なセットを含むJavaScriptライブラリはありますか?
-
27-09-2019 - |
質問
JQuery、Yui ...などの最もよく知られているJavaScriptライブラリには、多くの高レベルの機能が欠落していることがわかります。弦の操作を例にとって、Startswith、endswith、contas、ltrim、rtrim、trim、isnullorempty ...などこれらの関数は実際には非常に一般的なものです。
これらのギャップを埋めるJavaScriptライブラリのJavaScriptライブラリ/プラグインが存在するかどうかを知りたいです(文字列操作を含むがこれらに限定されません)。
ライブラリがプロトタイプを無効にしない場合、それは素晴らしいことです。
解決
を見てみましょう underscore.js (悲しいことに、文字列操作はありませんが、他にもたくさんの良いものがあります)。
他のヒント
これらの文字列関数のほとんどは、文字列オブジェクトに関連付けられた他の方法を使用して使用できます。
var myString = 'hello world';
myString.indexOf('hello') == 0; //same as startsWith('hello');
必要に応じて、これらの関数を他の機能にまとめることができます。文字列オブジェクトにプロトタイプを追加することはそこに行く方法であり、とにかくあなたが見つけたライブラリはおそらくそのルートを下るでしょう。
MS Ajax Core ライブラリには、これらの文字列メソッドと日付の方法などが含まれています。基本的に、.NETをJSに持ち込む勇敢な試みが含まれています。
MS Ajax JSスタック全体をコアファイルのみでロードする必要はありません。
プロトタイプを拡張したくない場合、これらはすべてラッパーで簡単に実装できます
var StringWrapper = (function(){
var wrapper = {
string: null,
trim: function(){
return this.string.replace(/^\s+|\s+$/g, "");
},
lTrim: function(){
}
};
return function(string){
wrapper.string = string;
return wrapper;
};
})();
StringWrapper(" aaaa bbbb ").trim(); /// "aaaa bbbb"
関数は1回しか作成されていないため、非常に効率的です。ただし、ヘルパーオブジェクト上でラッパーを使用すると、1つの追加の関数呼び出しが発生します。
Enderscore.String それはあなたのニーズに合っているように見えます。彼らがそれを説明する方法は次のとおりです。
Underscore.Stringは、文字列を備えた快適な操作、underscore.jsの拡張機能を備えたJavaScriptライブラリであり、prototype.js、right.js、Underscore、美しいRuby言語に触発されています。
underscore.stringは、大文字、清掃、count、count、counthtml、unescapehtml、insert、splice、startswith、endswith、ititalize、trim、truncateなどのいくつかの有用な機能を提供します。