关于ExtJS对javascript中的Array的扩展。能够參考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893
因为Array中的方法过多。将当中的部分方法设计实例进行学习。实例地址:http://blog.csdn.net/z1137730824/article/details/38797257
(1)Ext.Array中的方法
difference( Array arrayA, Array arrayB )
: 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 的别名
Parameters
- iterable : Array/NodeList/Object
将要迭代的值。 假设这个參数不可迭代,回调函数将仅仅调用一次。
- fn : Function
- scope : Object (optional)
指定函数运行的(
this
引用)作用域 - reverse : Boolean (optional)
反转迭代的顺序(从尾到头循环) 默觉得false
Returns
-
Boolean
參见
fn
參数的描写叙述.
获取数组中每一个元素的制定属性值. 演示样例:
Ext.Array.pluck(Ext.query("p"), "className"); // [el1.className, el2.className, ..., elN.className]
Parameters
Returns
返回一个数组中一部分的浅表复制。 等价于 原生方法 "Array.prototype.slice.call(array, begin, end)"。
常常被使用于数组 作为arguments,arguments对象没有提供slice方法, 可是能够作为上下文对象使用 Array.prototype.slice方法。
Parameters
- array : Array
数组 (或 arguments 对象)
- begin : Number
起始索引。为负值则 从数组的末尾计算位移
- end : Number
结束索引。
复制元素不包含结尾处的元素。
为负值则从数组的末尾计算位移,假设结尾被省略, 数组中一直到结尾的全部元素将被复制。
Returns
-
Array
数组
将一个可迭代元素(具有数字下标和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 的别名
Parameters
- iterable : Object
可迭代的对象
- start : Number (optional)
从0開始的索引。表示要转换的起始位置. 默觉得 0
- end : Number (optional)
从1開始的索引,表示要转换的结束位置.
默觉得要迭代元素的末尾位置。
Returns
-
Array
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 };