Question

ExtJS a la fonction Ext.each (), mais existe-t-il une map () également cachée quelque part?

J'ai fait de mon mieux, mais je n'ai rien trouvé qui puisse remplir ce rôle. Cela semble être quelque chose de simple et trivial, qu'une bibliothèque JS aussi grande que Ext doit clairement avoir.

Ou quand Ext ne l'inclut pas vraiment, quel serait le meilleur moyen de l'ajouter à Ext. Bien sûr, je pourrais simplement écrire:

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

Mais est-ce vraiment la bonne façon de procéder?

Était-ce utile?

La solution 3

Il semble que mes collèges utilisent ici ext-basex , qui étend Array.prototype avec map () et d’autres méthodes.

Je peux donc simplement écrire:

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

Problème résolu.

Autres conseils

À partir d’ext4 au moins, Ext.Array.map est inclus.

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

Puisque map est plus un utilitaire qu'autre chose, je ne vois pas pourquoi il y aurait un moyen spécial de le brancher dans l'espace de noms Ext; votre proposition fonctionnerait assez bien, bien que vous souhaitiez peut-être le faire ainsi:

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

On dirait que ça irait ... mais ensuite, je n’utilise pas ExtJS, donc je ne sais pas. J'ai jeté un coup d'œil à leurs docs et il ne semble pas qu'il y ait quelque chose de spécial à faire dans ce cas.

Pourquoi ne pas utiliser l’une des bibliothèques hybrides telles que Ext + Prototype ou Ext + Jquery. J'utilise Extjs + Prototypejs depuis un moment et cela m'a beaucoup aidé à intégrer le code Extjs à la présence des prototypes plus familiers tout au long du trajet.

http://extjs.com/products/extjs/build/ sera créé un fichier tar / zip personnalisé contenant tous les fichiers nécessaires à l’exécution d’extjs et (prototypejs | jquery | yahooUI).

ExtJS ne remplace pas le langage Javascript lui-même. Les fonctions de tableau ne sont pas au cœur du noyau ExtJS. Cependant, il existe un type d'objet Ext.Array spécial. Vous pouvez l'étendre vous-même.

EDIT: non Ext.Array, mais simplement un objet Array étendu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top