4

ExtJS 有 Ext.each() 函数,但是否还有一个 map() 也隐藏在某个地方?

我很努力,但没有找到任何可以填补这个角色的东西。像 Ext 这样大的 JS 库显然必须具备,这似乎是一件简单而琐碎的事情。

或者当 Ext 真的不包含它时,将它添加到 Ext 的最佳方法是什么?当然,我可以写:

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

但这真的是正确的方法吗?

4

5 回答 5

3

至少从 Ext4 开始,包括 Ext.Array.map。

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

于 2012-04-04T14:09:25.103 回答
2

因为map它更像是一个实用程序,所以我不明白为什么会有任何特殊的方式将其插入 Ext 命名空间;您建议的方式会足够好,尽管您可能希望这样做:

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

似乎这样就可以了……但是,我不使用 ExtJS,所以我不知道。我确实看过他们的文档,在这种情况下似乎没有什么特别的事情要做。

于 2008-10-30T20:40:32.753 回答
2

看来,我这里的大学正在使用ext-basex,它使用 map() 和其他方法扩展了 Array.prototype。

所以我可以写:

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

问题解决了。

于 2008-10-30T22:54:53.807 回答
1

使用 Ext+Prototype 或 Ext+Jquery 等混合库之一怎么样?我已经使用 Extjs+Prototypejs 有一段时间了,它对我在 Extjs 代码中的工作有很大帮助,同时还有更熟悉的prototypejs。

http://extjs.com/products/extjs/build/ 将构建一个自定义 tar/zip 文件,其中包含运行 extjs 和 (prototypejs|jquery|yahooUI) 所需的所有文件。

于 2008-10-31T16:53:29.227 回答
0

ExtJS 不会取代 Javascript 语言本身。数组函数不是 ExtJS 核心的重点。但是有一个特殊的 Ext.Array 对象类型。您可以自行扩展它。

编辑:不是 Ext.Array,而只是扩展的 Array 对象。

于 2008-10-30T23:40:47.537 回答