sencha官方API:http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext-method-each
本文作者:sushengmiyan
------------------------------------------------------------------------------------------------------------------------------------
看一下官方的介绍:
Iterates an array or an iterable value and invoke the given callback function for each item.
遍历所有可以循环的数组或者可迭代变量,并且执行给定的回调函数来处理每一个成员。
有一个简单的数组的例子如下:
var countries = ['Vietnam', 'Singapore', 'United States', 'Russia']; Ext.Array.each(countries, function(name, index, countriesItSelf) { console.log(name); }); var sum = function() { var sum = 0; Ext.Array.each(arguments, function(value) { sum += value; }); return sum; }; sum(1, 2, 3); // returns 6
The iteration can be stopped by returning false in the function callback.//通过设置返回值false来结束迭代。
Ext.each is alias for Ext.Array.each//Ext.each方法是ext.Array.each的别名。
参数介绍:
iterable :就是你要进行迭代的object,如果不可循环,就只执行一次了。fn:回调函数,当遍历一次的时候就执行一次,函数包含三个参数
item,就是每次遍历的值
index,当前值的序号index
allItems:就是当前的数组对象本身。
返回值:
当想结束的时候就返回false就可以了。
实例演示:
1.使用cmd生成一个默认的程序
2.在\app\view\main文件夹下的MainController.js中修改onClickButton方法。
如下:
onClickButton: function () { //Ext.Msg.confirm('Confirm', 'Are you sure?', 'onConfirm', this); var StudentsJSON = { student:[{ name: '张三', studentid: 200801, grade: 80 },{ name: '李四', studentid: 200802, grade: 90 },{ name: '王五', studentid: 200803, grade: 90 },{ name: '李二麻子', studentid: 200804, grade: 90 }] }; Ext.each(StudentsJSON.student, function(student, index) { alert(student.name); if (student.studentid == '200803') { alert('下一个是李二麻子,但是我不让他显示了'); return false; // 这里设置出口 }}); }
显示效果如下:
点击button之后:
最后是: