ExtJS学习-----------Ext.Array,ExtJS对javascript中的Array的扩展

时间:2022-06-25 19:54:54

关于ExtJS对javascript中的Array的扩展。能够參考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893

因为Array中的方法过多。将当中的部分方法设计实例进行学习。实例地址:http://blog.csdn.net/z1137730824/article/details/38797257

(1)Ext.Array中的方法

cleanArray array )
Array

过滤掉数组里的空值,空值的定义见 Ext.isEmpty

參见 filter

Parameters

Returns

Ext.Array

view source

cloneArray array )
Array

克隆一个数组,而不引用原数组,注意着不同于Ext.clone。Ext.clone不递归克隆。

它把Array.prototype.slice.call(array)方法简化 成一个方便的、easy记住的方法。

Parameters

Returns

Ext.Array

view source

containsArray array, Object item )
Boolean

检查数组中是否包括给定元素

Parameters

  • array : Array

    要检查的数组

  • item : Object

    要查找的元素

Returns

  • Boolean

    数组包括元素则为true,否则为false

Ext.Array

view source

differenceArray arrayA, Array arrayB )
Array

返回 A-B的差异集合,从A中减去全部B中存在的元素

Parameters

Returns

  • Array

    A中不同于B的元素

Ext.Array

view source

eachArray/NodeList/Object iterable, Function fn,
[Object scope], [Boolean reverse] )
Boolean

迭代一个数组或是可迭代的值,在每一个元素上调用给定的回调函数

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

    回调函数. 假设返回false, 迭代将停止, 方法返回当前的索引.

    Parameters

    • item : Object

      数组当前的索引中的元素

    • index : Number

      数组当前的索引

    • allItems : Array

      作为方法第一个參数的数组本身

    Returns

    • Boolean

      返回false来停止迭代

  • scope : Object (optional)

    指定函数运行的(this 引用)作用域

  • reverse : Boolean (optional)

    反转迭代的顺序(从尾到头循环) 默觉得false

Returns

  • Boolean

    參见 fn 參数的描写叙述.

Ext.Array

view source

eraseArray array, Number index, Number removeCount )
Array

移除数组中的多个元素。这个功能相当于Array的splice方法。

可是避免了IE8的splice函数bug。不会复制移除的元素并按次序返回它们。 (由于它们通常被忽略)

Parameters

  • array : Array

    数组

  • index : Number

    要操作的索引位置

  • removeCount : Number

    要移除的元素数量

Returns

  • Array

    处理后的数组

Ext.Array

view source

everyArray array, Function fn, Object scope )
Boolean

在数组的每一个元素上运行指定函数。直到函数返回一个false值 假设某个元素上返回了false值,本函数马上返回false 否则函数返回true

Parameters

  • array : Array
  • fn : Function

    每一个元素上的回调函数

  • scope : Object

    回调函数的作用域

Returns

  • Boolean

    假设回调函数没有返回false值则为true

Ext.Array

view source

filterArray array, Function fn, Object scope )
Array

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

Ext.Array

view source

flattenArray array )
Array

递归将数组和数组中的元素转换为1维数组。

Parameters

Returns

Ext.Array

view source

forEachArray array, Function fn,
[Object scope] )

迭代一个数组。在每一个元素上调用给定的回调函数。注意假设原生的Array.prototype.forEach被支持, 这个函数将托付到Array.prototype.forEach。

它不支持像each一样,
通过返回一个false来停止迭代。 因此,其性能在现代的浏览器中会比each更好。

Parameters

  • array : Array

    要迭代的数组

  • fn : Function

    回调函数

    Parameters

    • item : Object

      数组当前的索引中的元素

    • index : Number

      The current 数组当前的索引

    • allItems : Array

      作为方法第一个參数的数组本身

  • scope : Object (optional)

    指定函数运行的(this 引用)作用域

Ext.Array

view source

fromObject value,
[Boolean newReference] ) : Array

将一个值转换为一个数组,函数返回:

  • 一个空数组,假设给定的值是 undefined 或 null
  • 数组本身,假设已经是一个数组
  • 一个数组的拷贝,假设给定的值是 iterable (arguments,
    NodeList 等等)
  • 一个包括给定值作为唯一元素的数组 ,其它情况

Parameters

  • value : Object

    给定的值

  • newReference : Boolean (optional)

    为true则如有必要克隆给定数组然后返回一个其新引用 默觉得false

Returns

Ext.Array

view source

includeArray array, Object item )

把一个元素插入到数组,假设它不存在于这个数组

Parameters

Ext.Array

view source

indexOfArray array, Object item,
[Number from] ) : Number

查找指定元素在数组中的索引位置。 补充IE中缺少的arrayPrototype.indexOf原生方法。

Parameters

  • array : Array

    要检查的数组

  • item : Object

    要查找的元素

  • from : Number (optional)

    搜索的起始位置

Returns

  • Number

    元素在数组中的索引位置(找不到时为-1)

Ext.Array

view source

insertArray array, Number index, Array items )
Array

在数组中插入多个元素

Parameters

  • array : Array

    数组

  • index : Number

    插入的位置索引

  • items : Array

    要插入的多个元素

Returns

  • Array

    插入后的数组

Ext.Array

view source

intersectArray array1, Array array2, Array etc )
Array

返回多个数组的公共交集

Parameters

Returns

Ext.Array

view source

mapArray array, Function fn, Object scope )
Array

通过在数组的每一个元素中调用一个特定函数。用结果创建一个新数组,

Parameters

  • array : Array
  • fn : Function

    每一个元素上的回调函数

  • scope : Object

    回调函数的作用域

Returns

Ext.Array

view source

maxArray/NodeList
array, [Function comparisonFn] ) : Object

返回数组中的最大值

Parameters

  • array : Array/NodeList

    数组

  • comparisonFn : Function (optional)

    比較函数 假设被忽略,则使用 ">" 操作符。

    注意: gt = 1; eq = 0; lt = -1

Returns

Ext.Array

view source

meanArray array )
Number

计算数组中元素的平均值

Parameters

Returns

Ext.Array

view source

mergeArray array1, Array array2, Array etc )
Array

合并多个数组中的不反复元素到一个数组

union 是 merge 的别名

Parameters

Returns

Ext.Array

view source

minArray/NodeList
array, [Function comparisonFn] ) : Object

返回数组中的最小值

Parameters

  • array : Array/NodeList

    数组

  • comparisonFn : Function (optional)

    比較函数 假设被忽略,则使用 "<" 操作符。 注意: gt = 1; eq = 0; lt = -1

Returns

Ext.Array

view source

pluckArray/NodeList
array, String propertyName ) : Array

获取数组中每一个元素的制定属性值. 演示样例:

Ext.Array.pluck(Ext.query("p"), "className"); // [el1.className, el2.className, ..., elN.className]

Parameters

  • array : Array/NodeList

    数组.

  • propertyName : String

    元素的属性名称

Returns

Ext.Array

view source

pushArray target, Object...
elements ) : Array

在数组的末尾加入新的元素

參数可能是一个元素集合、也可能是多个元素集合的数组。假设參数列表中存在一个数组, 则它的全部元素都将被加入到给定数组的末尾。

Parameters

  • target : Array

    数组

  • elements : Object...

    要加入的元素。

    每一个元素可能也是一个数组。 这样的情形下,各数组的全部元素也将被加入到目标数组的末尾。

Returns

  • Array

    处理后的数组

Ext.Array

view source

removeArray array, Object item )
Array

移除数组中的制定元素

Parameters

  • array : Array

    数组

  • item : Object

    要移除的元素

Returns

Ext.Array

view source

replaceArray array, Number index, Number ,
[Array insert] ) : Array

替换数组里的多个元素。这个功能相当于Array的splice方法。 可是避免了IE8的splice函数bug。并且更便于使用。 由于它插入一个元素的数组,而不是一个可变參数列表。

Parameters

  • array : Array

    数组

  • index : Number

    要操作的索引位置

  • Number

    要移除的元素数量(能够为0)

  • insert : Array (optional)

    要插入的数组

Returns

  • Array

    处理后的数组

Ext.Array

view source

sliceArray array, Number begin, Number end )
Array

返回一个数组中一部分的浅表复制。 等价于 原生方法 "Array.prototype.slice.call(array, begin, end)"。

常常被使用于数组 作为arguments,arguments对象没有提供slice方法, 可是能够作为上下文对象使用 Array.prototype.slice方法。

Parameters

  • array : Array

    数组 (或 arguments 对象)

  • begin : Number

    起始索引。为负值则 从数组的末尾计算位移

  • end : Number

    结束索引。

    复制元素不包含结尾处的元素。

    为负值则从数组的末尾计算位移,假设结尾被省略, 数组中一直到结尾的全部元素将被复制。

Returns

Ext.Array

view source

someArray array, Function fn, Object scope )
Boolean

在数组的每一个元素上运行指定函数。直到函数返回一个true值 假设某个元素上返回了true值,本函数马上返回true

Parameters

  • array : Array
  • fn : Function

    每一个元素上的回调函数

  • scope : Object

    回调函数的作用域

Returns

  • Boolean

    假设回调函数返回一个true值则为true

Ext.Array

view source

sortArray array,
[Function sortFn] ) : Array

排序数组中的元素 默认使用字母表。按升序排序

Parameters

  • array : Array

    数组

  • sortFn : Function (optional)

    比較函数

Returns

  • Array

    排序后的数组

Ext.Array

view source

spliceArray array, Number index, Number removeCount, Object...
elements ) : Array

替换数组里的多个元素。这个功能相当于Array的splice方法。

可是避免了IE8的splice函数bug,除了第一个argument參数以外, 与splice方法的签名同样。 removeCount后面的全部參数都将被插入到指定位置。

Parameters

  • array : Array

    数组

  • index : Number

    要操作的索引位置

  • removeCount : Number

    要移除的元素数量(能够为0)

  • elements : Object...

    要加入到数组的多个元素.

    假设没有指定不论什么元素。splice简化为从数组移除元素。

Returns

  • Array

    处理后的数组

Ext.Array

view source

sumArray array )
Number

计算数组中元素的和

Parameters

Returns

Ext.Array

view source

toArrayObject iterable,
[Number start], [Number end] )
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

Ext.Array

view source

toMapObject array, Object getKey, Object scope )

使用给定数组中的元素作为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 };

Parameters

Ext.Array

view source

unionArray array1, Array array2, Array etc )
Array

合并多个数组中的不反复元素到一个数组

union 是 merge 的别名

Parameters

Returns

Ext.Array

view source

uniqueArray array )
Array

返回一个去掉反复元素的新数组

Parameters

Returns