关于ExtJS对javascript中的Array的扩展,可以参考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893
由于Array中的方法过多,将其中的部分方法设计实例进行学习,实例地址:http://blog.csdn.net/z1137730824/article/details/38797257
(1)Ext.Array中的方法
迭代一个数组或是可迭代的值,在每个元素上调用给定的回调函数
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); // 返回 6
在回调函数中返回false,即可停止迭代过程。
Ext.Array.each(countries, function(name, index, countriesItSelf) {
if (name === ‘Singapore‘) {
return false; // 此处中止
}
});
Ext.each 是 Ext.Array.each 的别名
将要迭代的值。 如果这个参数不可迭代,回调函数将只调用一次。
指定函数执行的(this
引用)作用域
反转迭代的顺序(从尾到头循环) 默认为false
参见 fn
参数的描述.
获取数组中每个元素的制定属性值. 示例:
Ext.Array.pluck(Ext.query("p"), "className"); // [el1.className, el2.className, ..., elN.className]
返回一个数组中一部分的浅表复制。 等价于 原生方法 "Array.prototype.slice.call(array, begin, end)"。 经常被使用于数组 作为arguments,arguments对象没有提供slice方法, 但是可以作为上下文对象使用 Array.prototype.slice方法。
数组 (或 arguments 对象)
起始索引。为负值则 从数组的末尾计算位移
结束索引。 复制元素不包括结尾处的元素。 为负值则从数组的末尾计算位移,如果结尾被省略, 数组中一直到结尾的所有元素将被复制。
数组
将一个可迭代元素(具有数字下标和length属性)转换为一个真正的数组
function test() {
var args = Ext.Array.toArray(arguments),
fromSecondToLastArgs = Ext.Array.toArray(arguments, 1);
alert(args.join(‘ ‘));
alert(fromSecondToLastArgs.join(‘ ‘));
}
test(‘just‘, ‘testing‘, ‘here‘); // 提示 ‘just testing here‘;
// 提示 ‘testing here‘;
Ext.Array.toArray(document.getElementsByTagName(‘div‘)); // 将把 NodeList 转换成一个数组
Ext.Array.toArray(‘splitted‘); // returns [‘s‘, ‘p‘, ‘l‘, ‘i‘, ‘t‘, ‘t‘, ‘e‘, ‘d‘]
Ext.Array.toArray(‘splitted‘, 0, 3); // returns [‘s‘, ‘p‘, ‘l‘]
Ext.toArray 是 Ext.Array.toArray 的别名
可迭代的对象
从0开始的索引,表示要转换的起始位置. 默认为 0
从1开始的索引,表示要转换的结束位置.
默认为要迭代元素的末尾位置。
array
使用给定数组中的元素作为key,创建一个map对象, 值是元素的索引+1。示例:
var map = Ext.Array.toMap([‘a‘,‘b‘,‘c‘]);
// map = { a: 1, b: 2, c: 3 };
或者指定一个key属性:
var map = Ext.Array.toMap([
{ name: ‘a‘ },
{ name: ‘b‘ },
{ name: ‘c‘ }
], ‘name‘);
// map = { a: 1, b: 2, c: 3 };
当然, 也可以指定一个key生成函数:
var map = Ext.Array.toMap([
{ name: ‘a‘ },
{ name: ‘b‘ },
{ name: ‘c‘ }
], function (obj) { return obj.name.toUpperCase(); });
// map = { A: 1, B: 2, C: 3 };
ExtJS学习-----------Ext.Array,ExtJS对javascript中的Array的扩展
原文地址:http://blog.csdn.net/z1137730824/article/details/38797163