关于ExtJS对javascript中的Array的扩展。能够參考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893
因为Array中的方法过多。将当中的部分方法设计实例进行学习。实例地址:http://blog.csdn.net/z1137730824/article/details/38797257
(1)Ext.Array中的方法
过滤掉数组里的空值,空值的定义见 Ext.isEmpty
參见 filter
Parameters
- array : Array
Returns
- Array
结果
克隆一个数组,而不引用原数组,注意着不同于Ext.clone。Ext.clone不递归克隆。
它把Array.prototype.slice.call(array)方法简化 成一个方便的、easy记住的方法。
Parameters
- array : Array
数组
Returns
- Array
克隆的数组
检查数组中是否包括给定元素
Parameters
- array : Array
要检查的数组
- item : Object
要查找的元素
Returns
- Boolean
数组包括元素则为true,否则为false
返回 A-B的差异集合,从A中减去全部B中存在的元素
Parameters
- arrayA : Array
- arrayB : Array
Returns
- Array
A中不同于B的元素
迭代一个数组或是可迭代的值,在每一个元素上调用给定的回调函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17var 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,就可以停止迭代过程。
1
2
3
4
5Ext.Array.each(countries, function(name, index, countriesItSelf) { if (name === 'Singapore') { return false; // 此处中止 } });
Ext.each 是 Ext.Array.each 的别名
Parameters
- iterable : Array/NodeList/Object
将要迭代的值。 假设这个參数不可迭代,回调函数将仅仅调用一次。
- fn : Function
回调函数. 假设返回false, 迭代将停止, 方法返回当前的索引.
Parameters
- item : Object
数组当前的索引中的元素
- index : Number
数组当前的索引
- allItems : Array
作为方法第一个參数的数组本身
Returns
- Boolean
返回false来停止迭代
- item : Object
- scope : Object (optional)
指定函数运行的(
this
引用)作用域 - reverse : Boolean (optional)
反转迭代的顺序(从尾到头循环) 默觉得false
Returns
- Boolean
參见
fn
參数的描写叙述.
移除数组中的多个元素。这个功能相当于Array的splice方法。
可是避免了IE8的splice函数bug。不会复制移除的元素并按次序返回它们。 (由于它们通常被忽略)
Parameters
- array : Array
数组
- index : Number
要操作的索引位置
- removeCount : Number
要移除的元素数量
Returns
- Array
处理后的数组
在数组的每一个元素上运行指定函数。直到函数返回一个false值 假设某个元素上返回了false值,本函数马上返回false 否则函数返回true
Parameters
- array : Array
- fn : Function
每一个元素上的回调函数
- scope : Object
回调函数的作用域
Returns
- Boolean
假设回调函数没有返回false值则为true
Creates a new array with all of the elements of this array for which the provided filtering function returns true.
Parameters
- array : Array
- fn : Function
Callback function for each item
- scope : Object
Callback function scope
Returns
- Array
结果
递归将数组和数组中的元素转换为1维数组。
Parameters
- array : Array
数组
Returns
- Array
一维数组
迭代一个数组。在每一个元素上调用给定的回调函数。注意假设原生的Array.prototype.forEach被支持, 这个函数将托付到Array.prototype.forEach。
它不支持像each一样, 通过返回一个false来停止迭代。 因此,其性能在现代的浏览器中会比each更好。
Parameters
- array : Array
要迭代的数组
- fn : Function
回调函数
Parameters
- item : Object
数组当前的索引中的元素
- index : Number
The current 数组当前的索引
- allItems : Array
作为方法第一个參数的数组本身
- item : Object
- scope : Object (optional)
指定函数运行的(
this
引用)作用域
将一个值转换为一个数组,函数返回:
- 一个空数组,假设给定的值是
undefined
或null
- 数组本身,假设已经是一个数组
- 一个数组的拷贝,假设给定的值是 iterable (arguments, NodeList 等等)
- 一个包括给定值作为唯一元素的数组 ,其它情况
Parameters
- value : Object
给定的值
- newReference : Boolean (optional)
为true则如有必要克隆给定数组然后返回一个其新引用 默觉得false
Returns
- Array
数组
把一个元素插入到数组,假设它不存在于这个数组
Parameters
- array : Array
数组
- item : Object
元素
查找指定元素在数组中的索引位置。 补充IE中缺少的arrayPrototype.indexOf原生方法。
Parameters
- array : Array
要检查的数组
- item : Object
要查找的元素
- from : Number (optional)
搜索的起始位置
Returns
- Number
元素在数组中的索引位置(找不到时为-1)
在数组中插入多个元素
Parameters
- array : Array
数组
- index : Number
插入的位置索引
- items : Array
要插入的多个元素
Returns
- Array
插入后的数组
返回多个数组的公共交集
Parameters
- array1 : Array
- array2 : Array
- etc : Array
Returns
- Array
交集
通过在数组的每一个元素中调用一个特定函数。用结果创建一个新数组,
Parameters
- array : Array
- fn : Function
每一个元素上的回调函数
- scope : Object
回调函数的作用域
Returns
- Array
结果
返回数组中的最大值
Parameters
- array : Array/NodeList
数组
- comparisonFn : Function (optional)
比較函数 假设被忽略,则使用 ">" 操作符。
注意: gt = 1; eq = 0; lt = -1
Returns
- Object
maxValue 最大值
计算数组中元素的平均值
Parameters
- array : Array
数组
Returns
- Number
平均值
合并多个数组中的不反复元素到一个数组
union 是 merge 的别名
Parameters
- array1 : Array
- array2 : Array
- etc : Array
Returns
- Array
合并的数组
返回数组中的最小值
Parameters
- array : Array/NodeList
数组
- comparisonFn : Function (optional)
比較函数 假设被忽略,则使用 "<" 操作符。 注意: gt = 1; eq = 0; lt = -1
Returns
- Object
minValue 最小值
获取数组中每一个元素的制定属性值. 演示样例:
1Ext.Array.pluck(Ext.query("p"), "className"); // [el1.className, el2.className, ..., elN.className]
Parameters
- array : Array/NodeList
数组.
- propertyName : String
元素的属性名称
Returns
- Array
在数组的末尾加入新的元素
參数可能是一个元素集合、也可能是多个元素集合的数组。假设參数列表中存在一个数组, 则它的全部元素都将被加入到给定数组的末尾。
Parameters
- target : Array
数组
- elements : Object...
要加入的元素。
每一个元素可能也是一个数组。 这样的情形下,各数组的全部元素也将被加入到目标数组的末尾。
Returns
- Array
处理后的数组
移除数组中的制定元素
Parameters
- array : Array
数组
- item : Object
要移除的元素
Returns
- Array
数组本身
替换数组里的多个元素。这个功能相当于Array的splice方法。 可是避免了IE8的splice函数bug。并且更便于使用。 由于它插入一个元素的数组,而不是一个可变參数列表。
Parameters
- array : Array
数组
- index : Number
要操作的索引位置
- : Number
要移除的元素数量(能够为0)
- insert : Array (optional)
要插入的数组
Returns
- Array
处理后的数组
返回一个数组中一部分的浅表复制。 等价于 原生方法 "Array.prototype.slice.call(array, begin, end)"。
常常被使用于数组 作为arguments,arguments对象没有提供slice方法, 可是能够作为上下文对象使用 Array.prototype.slice方法。
Parameters
- array : Array
数组 (或 arguments 对象)
- begin : Number
起始索引。为负值则 从数组的末尾计算位移
- end : Number
结束索引。
复制元素不包含结尾处的元素。
为负值则从数组的末尾计算位移,假设结尾被省略, 数组中一直到结尾的全部元素将被复制。
Returns
- Array
数组
在数组的每一个元素上运行指定函数。直到函数返回一个true值 假设某个元素上返回了true值,本函数马上返回true
Parameters
- array : Array
- fn : Function
每一个元素上的回调函数
- scope : Object
回调函数的作用域
Returns
- Boolean
假设回调函数返回一个true值则为true
排序数组中的元素 默认使用字母表。按升序排序
Parameters
- array : Array
数组
- sortFn : Function (optional)
比較函数
Returns
- Array
排序后的数组
替换数组里的多个元素。这个功能相当于Array的splice方法。
可是避免了IE8的splice函数bug,除了第一个argument參数以外, 与splice方法的签名同样。 removeCount后面的全部參数都将被插入到指定位置。
Parameters
- array : Array
数组
- index : Number
要操作的索引位置
- removeCount : Number
要移除的元素数量(能够为0)
- elements : Object...
要加入到数组的多个元素.
假设没有指定不论什么元素。splice简化为从数组移除元素。
Returns
- Array
处理后的数组
计算数组中元素的和
Parameters
- array : Array
数组
Returns
- Number
和
将一个可迭代元素(具有数字下标和length属性)转换为一个真正的数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14function 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。演示样例:
1
2
3var map = Ext.Array.toMap(['a','b','c']); // map = { a: 1, b: 2, c: 3 };
或者指定一个key属性:
1
2
3
4
5
6
7var map = Ext.Array.toMap([ { name: 'a' }, { name: 'b' }, { name: 'c' } ], 'name'); // map = { a: 1, b: 2, c: 3 };
当然, 也能够指定一个key生成函数:
1
2
3
4
5
6
7var map = Ext.Array.toMap([ { name: 'a' }, { name: 'b' }, { name: 'c' } ], function (obj) { return obj.name.toUpperCase(); }); // map = { A: 1, B: 2, C: 3 };
Parameters
- array : Object
- getKey : Object
- scope : Object
合并多个数组中的不反复元素到一个数组
union 是 merge 的别名
Parameters
- array1 : Array
- array2 : Array
- etc : Array
Returns
- Array
合并的数组
返回一个去掉反复元素的新数组
Parameters
- array : Array
Returns
- Array
结果
最后
以上就是独特黑裤最近收集整理的关于ExtJS学习-----------Ext.Array,ExtJS对javascript中的Array的扩展的全部内容,更多相关ExtJS学习-----------Ext.Array,ExtJS对javascript中内容请搜索靠谱客的其他文章。
发表评论 取消回复