[转]Extjs中的迭代方法
原文地址:http://www.veryhuo.com/a/view/36701.html
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。
另一个有用的技巧是你可以更方便的重用相同的方法:
var myFunction = function (item, index)
{
//does some clever thing
} Ext.each(people, myFunction);
Ext.each(['another', 'array'], myFunction);
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系列版本后将被移除。
数学方法
var numbers = [1, 2, 3, 4, 5];
Ext.min(numbers); //1
Ext.max(numbers); //5
Ext.sum(numbers); //15
Ext.mean(numbers); //3
原文地址:Ext JS iterator functions
[转]Extjs中的迭代方法的更多相关文章
- JavaScript中数组迭代方法(jquery)
var arr = [1,2,4,5,6]; //1.forEach(让数组中的每一项做一件事)arr.forEach(function(item,index){ console.log(ite ...
- JavaScript中数组迭代方法
文章来源 : https://www.cnblogs.com/shuiyi/p/5058524.html
- javascript中五种迭代方法实例
温习一下js中的迭代方法. <script type="text/javascript"> var arr = [1, 2, 3, 4, 5, 4, 3, 2, 1]; ...
- ExtJs中XTemplate使用(转)
转自http://www.studyofnet.com/news/408.html 本文导读:XTemplate是Ext.Template扩展的新类,它支持高级功能的模板类,如自动数组输出.条件判断. ...
- JavaScript 之迭代方法
前言:关于 JS 中为数组定义的迭代方法,我最开始是在<JavaScript高级程序设计>中学习的,然后...我并没有看懂,后来翻阅各个大佬的博客,稍微理解了那么一丢丢.以下就是我的一点见 ...
- Extjs中给同一个GridPanel中的事件添加参数的方法
Extjs中给同一个GridPanel中的事件添加参数的方法: this.isUse = new Ext.Action({ text:'启用', scope ...
- javaScript中的数组迭代方法
ECMAScript5为数组定义了5个迭代方法. 每个方法都接收两个参数:要在每一项上运行的函数 和 (可选的)运行该函数的作用域对象. 传入这些方法中的函数会接收三个参数:数组项的值,该项在数组 ...
- Javascript中的迭代、归并方法
迭代方法 在Javascript中迭代方法个人觉得尤为重要,在很多时候都会有实际上的需求,javascript提供了5个迭代方法来供我们操作,它们分别为: every() 对数组中的每一个项运用给定的 ...
- JS中数组的迭代方法和归并方法
昨天总结的JavaScript中的数组Array方法 数组的迭代方法 ES5中为数组定义了5个迭代方法.每个方法都要接收两个参数:要在每一项上面运行的函数和(可选的)运行该函数的作用域对象---影响t ...
随机推荐
- Idea集成Lombok代码注释来精简代码
转载http://www.cnblogs.com/holten/p/5729226.html Lombok介绍及使用方法 lombok简介 lombok是暑假来到公司实习的时候发现的一个非常好用的小工 ...
- Docker K8s基本概念入门
原文地址:https://blog.csdn.net/TM6zNf87MDG7Bo/article/details/79621510 k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具 ...
- ASP.NET Core网站初探
原文地址:https://blog.csdn.net/iml6yu/article/details/74530679 目录结构如下图 目录: Properties:属性,记录了项目属性的配置文件. ...
- IT系统故障引起的一个事故的思考
记得几年前在我以前工作过的一个公司,因为系统的一个审批流突然中断,而且也没有在系统中触发邮件和短信等提示消息,而且我们的相关的审批人员和发 起人也没有在意.直到流程发起的同事在采购物品即将要使用的前2 ...
- springboot JSP 404
up vote 1. mvc # 页面默认前缀目录spring.mvc.view.prefix=/WEB-INF/view/# 响应页面默认后缀spring.mvc.view.suffix=.jsp ...
- Python 爬虫实例(11)—— 爬虫 苏宁易购
# coding:utf-8 import json import redis import time import requests session = requests.session() imp ...
- CentOS 7 host-only 设置上网
CentOS 7 ifcfg-enp0s3: HWADDR=::::F6: TYPE=Ethernet BOOTPROTO=static #dhcp DEFROUTE=yes PEERDNS=yes ...
- 解决iPad/iPhone下手机号码会自动被加上a标签的问题
解决办法: 在页面顶部<head></head>中增加: <meta name="format-detection" content="te ...
- Windows平台下tomcat+java的web程序持续占cpu问题调试
1.问题 Tomcat服务器跑了一段时间后,发现Tomcat进程占用的CPU资源在80%-100%间,加上其它的进程,整个服务器的CPU处理100%运行状态. 2.通过process explorer ...
- JDK1.5新特性,基础类库篇,线程类(Thread)增强了哪些
java.lang.Thread类增强特性如下: 线程优先级已经更改.java.lang.Thread.MIN_PRIORITY = 1 java.lang.Thread.NORM_PRIORITY ...