質問

ExtJSにはExt.each()関数がありますが、map()もどこかに隠されているのでしょうか?

一生懸命努力しましたが、この役割を果たすことができるものは見つかりませんでした。これは、Ext ほど大きな JS ライブラリには明らかに必要な、単純かつ些細なことのように思えます。

または、Ext に実際にそれが含まれていない場合、それを Ext に追加する最善の方法は何でしょうか。確かに、次のように書くこともできます。

Ext.map = function(arr, f) { ... };

しかし、これは本当に正しい方法なのでしょうか?

役に立ちましたか?

解決 3

ここの私の大学では ext-basex を使用しているようです。 Array.prototypeをmap()およびその他のメソッドで拡張します。

だから私は書くことができます:

[1, 2, 3].map( function(){ ... } );

問題は解決しました。

他のヒント

少なくともExt4の時点で、Ext.Array.mapが含まれています。

http://docs.sencha .com / extjs / 5.0.1 /#!/ api / Ext.Array-method-map

map は何よりもユーティリティなので、Extネームスペースにプラグインする特別な方法がある理由はわかりません。提案する方法は十分に機能しますが、そうすることもできます:

if(Ext && typeof(Ext.map) == "undefined") { // only if Ext exists & map isn't already defined
   Ext.map = function(arr, f) { ... };
}

そのように思えますが...しかし、私はExtJSを使用しないので、わかりません。私は彼らのドキュメントをじっと見ましたが、この場合に特別なことは何もないようです。

Ext + PrototypeやExt + Jqueryなどのハイブリッドライブラリの1つを使用するのはどうですか。私はしばらくの間Extjs + Prototypejsを使用していますが、乗り心地に合わせてより使い慣れたprototypejsを使用することでExtjsコードに取り組むことができました。

http://extjs.com/products/extjs/build/ はビルドされますextjsおよび(prototypejs | jquery | yahooUI)を実行するために必要なすべてのファイルのカスタムtar / zipファイル。

ExtJS は JavaScript 言語自体を置き換えるものではありません。配列関数は ExtJS コアの焦点では​​ありません。ただし、特別な Ext.Array オブジェクト タイプがあります。自分で拡張することもできます。

編集:Ext.Array ではなく、Array オブジェクトを拡張しただけです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top