`
魏祖清
  • 浏览: 180195 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

Extjs中的迭代

    博客分类:
  • ext
 
阅读更多
EXTJS 有很多的迭代方法,例如,你也许已知道的Ext.each,但还有另外一些不为人知且很有用的方法。
首先,简要回顾下Ext.each:

Ext.each

为每一个数组的成员应用同一个方法,它基本上是一个更方便的循环形式

var people = ['Bill', 'Saul', 'Gaius'];

//using each to detect Cylons:
Ext.each(people, function (person, index)
{
    var cylon = (index + 1) % 2 == 0; //every second man is a toaster
    alert(person + (cylon ? ' is ' : ' is not ') + 'a fraking cylon');
});

//is the same as
for (var i = 0; i < people.length; i++)
{
    var person = people[i];
    var cylon = (index + 1) % 2 == 0; //every second man is a toaster

    alert(person + (cylon ? ' is ' : ' is not ') + 'a frakin cylon');
};

Ext.iterate

Ext.iterate 与 Ext.each 类似针对非数组对象. 通常用在for-in 循环中:
var ships = { 'Bill': 'Galactica', 'Laura': 'Colonial One' };

Ext.iterate(ships, function (key, value)
{
    alert(key + "'s ship is the " + value);
});

//is the same as
for (key in ships)
{
    var value = ships[key];
    alert(key + "'s ship is the " + value);
}

用Ext.iterate在数组上,与Ext.each完全相同。
each和iterate方法都有第三个可选参数scope。


Ext.pluck

(4.0.0之后过时) Ext.pluck从对象数组捕获特定的属性
var animals = [
  { name: 'Ed', species: 'Unknown' },
  { name: 'Bumble', species: 'Cat' },
  { name: 'Triumph', species: 'Insult Dog' }
];

Ext.pluck(animals, 'species'); //returns ['Unknown', 'Cat', 'Insult Dog']
Ext.pluck(animals, 'name'); //returns ['Ed', 'Bumble', 'Triumph']

此方法自4.0.0不建议使用,请用Ext.Array.pluck代替.



Ext.invoke

(4.0.0之后过时)数组中所有成员调用同一个方法,并返回结果,使用用上例animals:

var describeAnimal = function (animal)
{
    return String.format("{0} is a {1}", animal.name, animal.species);
}

var describedAnimals = Ext.invoke(animals, describeAnimal);
console.log(describedAnimals); // ['Ed is a Unknown', 'Bumble is a Cat', 'Triumph is a Insult Dog'];

Ext.invoke与Ruby的集合方法类似,使得更容易转换数组,任何增加的参数都可通过Ext.invoke传递。
此方法自4.0.0不建议使用,4.X系列版本后将被移除。



Ext.Partition

Ext.Partition将数组拆分成两部分。

var trees = [
  { name: 'Oak', height: 20 },
  { name: 'Willow', height: 10 },
  { name: 'Cactus', height: 5 }
];

var isTall = function (tree) { return tree.height > 15 };

Ext.partition(trees, isTall);

//returns:
[
  [{ name: 'Oak', height: 20}],
  [{ name: 'Willow', height: 10 }, { name: 'Cactus', height: 5}]
]

此方法自4.0.0不建议使用,4.X系列版本后将被移除。


分享到:
评论

相关推荐

    基于SpringBoot+FreeMarker+MyBatis+ExtJs实现的一个通用后台管理系统,界面美观,适合快速迭代开发

    基于SpringBoot+FreeMarker+MyBatis+ExtJs实现的一个通用后台管理系统,界面美观,适合快速迭代开发 项目说明 技术栈: SpringBoot MyBatis Redis MySQL FreeMarker ExtJs 基于SpringBoot+FreeMarker+MyBatis+...

    extjs3.3 中文文档

    在解压后的文件中,我们可以看到"Ext 3.2 中文.CHM",这是一部关于ExtJS 3.2的中文帮助文档。虽然标题提到的是3.3版本,但很可能是文档更新到3.2版本时的中文翻译,而3.3的更新可能在英文版中。CHM文件是Windows系统...

    ExtJS 7.7 SDK trial

    1. **版本升级**:从7.7版本可以看出,ExtJS在不断迭代更新,以满足开发者对更高效、功能更全面的需求。7.7版可能引入了新的特性、性能优化和错误修复。 2. **UI组件库**:ExtJS包含大量的预定义UI组件,如表格、树...

    ExtJs4.1中文API离线BS版

    在4.1版本中,ExtJS团队对框架进行了大量性能优化,包括减少DOM操作、提升渲染速度以及优化内存管理,使得大型应用也能保持流畅运行。 10. **国际化支持**: 由于提供了中文API,表明ExtJS 4.1对多语言的支持更加...

    基于SpringBoot+FreeMarker+MyBatis+ExtJs的一个通用后台管理系统源码(适合快速迭代开发).zip

    1、基于SpringBoot+FreeMarker+MyBatis+ExtJs实现的一个通用后台管理系统源码(适合快速迭代开发).zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计...

    EXTJS 3[1].0 API中文文档

    EXTJS 是一款强大的JavaScript前端框架,专用于构建富互联网应用程序(RIA...同时,随着EXTJS版本的不断迭代更新,开发者还可以根据需要,扩展到更高级的EXTJS版本,如EXTJS 4、5、6等,进一步提升开发效率和应用性能。

    Extjs实用教程入门学习Extjs

    随着时间的推移,Extjs不断迭代升级,其2.0版本更是成为了许多开发者青睐的对象。 #### 深入理解Extjs的组件体系结构 Extjs的强大之处在于其丰富的组件库。组件是Extjs的核心概念之一,它们是可重用的UI元素,如...

    extjs-6.2.0-docs文档

    5. **API 更新**:EXTJS 的API 经常进行迭代,6.2.0 版本可能会包含一些新的API 或者对旧API 的改进,以适应新的功能需求或提高易用性。 6. **文档完善**:EXTJS 6.2.0 的文档不仅涵盖了API 文档,还可能包括教程、...

    ExtJs-API中的一些重要的详解文档

    9. **Ext.each()**: 这是一个遍历数组(或其他可迭代对象)的方法,对每个元素执行指定的函数,并可以依据返回值提前终止遍历。 除此之外,ExtJS API还包含许多其他有用的工具函数,如`Ext.encode()`和`Ext.decode...

    ExtJS 4.07 Build目录

    - ExtJS 4.07 Build目录可能包含了4.1版本中缺失或错误的文件,这可能是由于4.1版本的bug或者功能不完整导致的。通过覆盖这些文件,开发者可以确保使用4.07的最新修复和功能,提升应用程序的稳定性和功能。 3. **...

    ExtJS 2.3/3.0 定制你所需要的模块

    总的来说,这篇博客文章可能会提供关于如何在ExtJS 2.3/3.0中进行模块化开发和自定义组件的实用指南,同时也会涉及源码理解和性能优化,对于那些希望深入掌握ExtJS的开发者来说,是非常有价值的资源。

    ExtJS_V2.0教程.pdf

    - **版本迭代**:从最初的版本开始,ExtJS不断更新迭代,加入了更多的功能和改进了性能,以适应不断变化的Web开发需求。 #### 三、ExtJS的核心特性 - **组件体系结构**:ExtJS采用了一种组件化的设计思想,每个UI...

    extjs 6 gettng started

    - **版本背景**:ExtJS 6 是 Sencha 公司旗舰框架的最新迭代,标志着跨平台 Web 应用开发的一次重大飞跃。本书旨在帮助读者理解和开始使用 ExtJS 6。 - **统一框架**:ExtJS 6 聚焦于为所有平台提供一个统一的框架,...

    Extjs 3.0 designer pre 官方版 + 修改补丁

    在ExtJS中,JSON文件通常用于存储组件结构、配置和数据,使得代码能够在不同的环境中轻松重用和导入。 首先,你需要确保已安装Adobe AIR,这是一个跨平台的运行时环境,使得桌面应用程序可以使用Web技术(如HTML、...

    ExtJs可视化开发工具3.0

    在ExtJS可视化开发工具中,用户可以预览所见即所得的设计,直接调整组件的大小、位置、样式等属性,这使得UI设计变得直观且高效。对于那些不熟悉ExtJS底层API的开发者来说,这是一个极其宝贵的资源,因为它消除了...

    EXTJS API+EXT 中文手册

    "Ext 2 API Documentation.zip" 可能包含了 EXTJS 2.x 版本的 API 文档,EXTJS 的版本迭代较快,每个版本都有新的特性和改进。开发者可能需要查阅特定版本的文档来解决兼容性问题或利用新功能。 "ext_pdf_0527.zip...

    Extjs2.02 Gridpanel

    然而,随着EXTJS版本的迭代,这些问题在后续版本中得到了改进。 总的来说,EXTJS 2.02 GridPanel是一个功能丰富的表格组件,适用于构建交互性强、数据展示复杂的Web应用。对于开发者而言,掌握EXTJS GridPanel的...

    ExtJS3.3版本的BUG

    - **更新版本**:升级到ExtJS 3.4或更高版本,因为通常情况下,随着版本的迭代,开发团队会修复已知的问题和Bug。 - **查阅官方文档**:参考ExtJS 3.3版本的官方文档,查看是否有相关的注意事项或已知问题列表。 - *...

    深入浅出ExtJS第2版(完整版)

    ExtJS由Sencha公司维护,自2006年发布以来,已经经历了多个版本的迭代,形成了成熟稳定的技术体系。它以组件化设计为核心,通过模块化的架构,使得开发者可以灵活地组合和定制各种UI元素,从而快速构建出响应式的Web...

Global site tag (gtag.js) - Google Analytics