Есть ли в ExtJS функция map ()? - PullRequest
4 голосов
/ 30 октября 2008

ExtJS имеет функцию Ext.each (), но есть ли карта (), также спрятанная где-нибудь?

Я очень старался, но не нашел ничего, что могло бы сыграть эту роль. Кажется, что-то простое и тривиальное, что библиотека JS, такая большая, как Ext, должна иметь.

Или, когда Ext действительно не включает его, что было бы лучшим способом добавить его в Ext. Конечно, я мог бы просто написать:

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

Но действительно ли это правильный способ сделать это?

Ответы [ 5 ]

3 голосов
/ 04 апреля 2012

По крайней мере Ext4, Ext.Array.map включен.

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

2 голосов
/ 31 октября 2008

Похоже, что мои колледжи используют ext-basex , который расширяет Array.prototype с помощью map () и других методов.

Так что я могу просто написать:

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

Проблема решена.

2 голосов
/ 30 октября 2008

Поскольку map является скорее утилитой, чем чем-либо еще, я не понимаю, почему был бы какой-то особый способ включить его в пространство имен Ext; способ, которым вы предлагаете, будет работать достаточно хорошо, хотя вы можете сделать это так:

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

Кажется, это было бы хорошо ... но тогда я не использую ExtJS, поэтому я не знаю. Я изучил их документы, и, похоже, в этом случае нет ничего особенного.

1 голос
/ 31 октября 2008

Как насчет использования одной из гибридных библиотек, таких как Ext + Prototype или Ext + Jquery. Я уже некоторое время использую Extjs + Prototypejs, и это мне очень помогло в работе над кодом Extjs, имея при себе более знакомые prototypejs для поездки.

http://extjs.com/products/extjs/build/ создаст специальный файл tar / zip из всех файлов, необходимых для запуска extjs и (prototypejs | jquery | yahooUI).

0 голосов
/ 31 октября 2008

ExtJS не заменяет сам язык Javascript. Функции массива не в фокусе ядра ExtJS. Однако существует специальный тип объекта Ext.Array. Вы можете расширить его самостоятельно.

EDIT: не Ext.Array, а только расширенный объект Array.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...