代码之家  ›  专栏  ›  技术社区  ›  Rene Saarsoo

extjs中有map()函数吗?

  •  4
  • Rene Saarsoo  · 技术社区  · 16 年前

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

    我已经努力了,但还没有找到任何可以胜任这个角色的东西。这似乎是一些简单和琐碎的东西,像ext这样大的JS库显然必须拥有。

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

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

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

    5 回复  |  直到 9 年前
        1
  •  3
  •   tstojecki    9 年前
        2
  •  2
  •   Jason Bunting    16 年前

    自从 map 更像是一个实用程序,我不明白为什么会有任何特殊的方法将它插入到ext名称空间中;您建议的方法会很好地工作,尽管您可能非常希望这样做:

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

    看起来很好……但是,我不使用extjs,所以我不知道。我确实在他们的医生那里接受了治疗,在这种情况下似乎没有什么特别的事情要做。

        3
  •  2
  •   Rene Saarsoo    16 年前

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

    所以我可以写:

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

    问题解决了。

        4
  •  1
  •   David    16 年前

    使用诸如ext+prototype或ext+jquery这样的混合库怎么样?我已经使用extjs+prototypejs有一段时间了,它也帮助我在extjs代码中使用更熟悉的prototypejs。

    http://extjs.com/products/extjs/build/ 将为运行extjs和(prototypejs jquery yahooui)所需的所有文件构建一个自定义tar/zip文件。

        5
  •  0
  •   Thevs    16 年前

    extjs不会取代javascript语言本身。数组函数不是extjs核心关注的焦点。但是有一个特殊的ext.array对象类型。你可以自己扩展它。

    编辑:不是扩展数组,而是扩展数组对象。