首页 > 代码库 > ExtJS学习-----------Ext.Array,ExtJS对javascript中的Array的扩展

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

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

由于Array中的方法过多,将其中的部分方法设计实例进行学习,实例地址:http://blog.csdn.net/z1137730824/article/details/38797257

(1)Ext.Array中的方法

clean( Array array ) : Array

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

参见 filter

Parameters

  • array : Array

Returns

  • Array

    结果

 
Ext.Array
view source
clone( Array array ) : Array

克隆一个数组,而不引用原数组,注意着不同于Ext.clone,Ext.clone不递归克隆。 它把Array.prototype.slice.call(array)方法简化 成一个方便的、容易记住的方法。

Parameters

  • array : Array

    数组

Returns

  • Array

    克隆的数组

 
Ext.Array
view source
contains( Array array, Object item ) : Boolean

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

Parameters

  • array : Array

    要检查的数组

  • item : Object

    要查找的元素

Returns

  • Boolean

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

 
Ext.Array
view source
difference( Array arrayA, Array arrayB ) : Array

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

Parameters

  • arrayA : Array
  • arrayB : Array

Returns

  • Array

    A中不同于B的元素

 
Ext.Array
view source
each( Array/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
erase( Array array, Number index, Number removeCount ) : Array

移除数组中的多个元素。这个功能相当于Array的splice方法。 但是避免了IE8的splice函数bug,不会复制移除的元素并按次序返回它们。 (因为它们通常被忽略)

Parameters

  • array : Array

    数组

  • index : Number

    要操作的索引位置

  • removeCount : Number

    要移除的元素数量

Returns

  • Array

    处理后的数组

 
Ext.Array
view source
every( Array 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
filter( Array 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

  • Array

    结果

 
Ext.Array
view source
flatten( Array array ) : Array

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

Parameters

  • array : Array

    数组

Returns

  • Array

    一维数组

 
Ext.Array
view source
forEach( Array 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
from( Object value, [Boolean newReference] ) : Array

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

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

Parameters

  • value : Object

    给定的值

  • newReference : Boolean (optional)

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

Returns

  • Array

    数组

 
Ext.Array
view source
include( Array array, Object item )

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

Parameters

  • array : Array

    数组

  • item : Object

    元素

 
Ext.Array
view source
indexOf( Array array, Object item, [Number from] ) : Number

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

Parameters

  • array : Array

    要检查的数组

  • item : Object

    要查找的元素

  • from : Number (optional)

    搜索的起始位置

Returns

  • Number

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

 
Ext.Array
view source
insert( Array array, Number index, Array items ) : Array

在数组中插入多个元素

Parameters

  • array : Array

    数组

  • index : Number

    插入的位置索引

  • items : Array

    要插入的多个元素

Returns

  • Array

    插入后的数组

 
Ext.Array
view source
intersect( Array array1, Array array2, Array etc ) : Array

返回多个数组的公共交集

Parameters

  • array1 : Array
  • array2 : Array
  • etc : Array

Returns

  • Array

    交集

 
Ext.Array
view source
map( Array array, Function fn, Object scope ) : Array

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

Parameters

  • array : Array
  • fn : Function

    每个元素上的回调函数

  • scope : Object

    回调函数的作用域

Returns

  • Array

    结果

 
Ext.Array
view source
max( Array/NodeList array, [Function comparisonFn] ) : Object

返回数组中的最大值

Parameters

  • array : Array/NodeList

    数组

  • comparisonFn : Function (optional)

    比较函数 如果被忽略,则使用 ">" 操作符。 注意: gt = 1; eq = 0; lt = -1

Returns

  • Object

    maxValue 最大值

 
Ext.Array
view source
mean( Array array ) : Number

计算数组中元素的平均值

Parameters

  • array : Array

    数组

Returns

  • Number

    平均值

 
Ext.Array
view source
merge( Array array1, Array array2, Array etc ) : Array

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

union 是 merge 的别名

Parameters

  • array1 : Array
  • array2 : Array
  • etc : Array

Returns

  • Array

    合并的数组

 
Ext.Array
view source
min( Array/NodeList array, [Function comparisonFn] ) : Object

返回数组中的最小值

Parameters

  • array : Array/NodeList

    数组

  • comparisonFn : Function (optional)

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

Returns

  • Object

    minValue 最小值

 
Ext.Array
view source
pluck( Array/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

  • Array
 
Ext.Array
view source
push( Array target, Object... elements ) : Array

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

参数可能是一个元素集合、也可能是多个元素集合的数组。如果参数列表中存在一个数组, 则它的所有元素都将被添加到给定数组的末尾。

Parameters

  • target : Array

    数组

  • elements : Object...

    要添加的元素。每个元素可能也是一个数组。 这种情形下,各数组的所有元素也将被添加到目标数组的末尾。

Returns

  • Array

    处理后的数组

 
Ext.Array
view source
remove( Array array, Object item ) : Array

移除数组中的制定元素

Parameters

  • array : Array

    数组

  • item : Object

    要移除的元素

Returns

  • Array

    数组本身

 
Ext.Array
view source
replace( Array 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
slice( Array 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

  • Array

    数组

 
Ext.Array
view source
some( Array array, Function fn, Object scope ) : Boolean

在数组的每个元素上执行指定函数,直到函数返回一个true值 如果某个元素上返回了true值,本函数立即返回true

Parameters

  • array : Array
  • fn : Function

    每个元素上的回调函数

  • scope : Object

    回调函数的作用域

Returns

  • Boolean

    如果回调函数返回一个true值则为true

 
Ext.Array
view source
sort( Array array, [Function sortFn] ) : Array

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

Parameters

  • array : Array

    数组

  • sortFn : Function (optional)

    比较函数

Returns

  • Array

    排序后的数组

 
Ext.Array
view source
splice( Array 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
sum( Array array ) : Number

计算数组中元素的和

Parameters

  • array : Array

    数组

Returns

  • Number

 
Ext.Array
view source
toArray( Object 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

  • Array

    array

 
Ext.Array
view source
toMap( Object 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

  • array : Object
  • getKey : Object
  • scope : Object
 
Ext.Array
view source
union( Array array1, Array array2, Array etc ) : Array

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

union 是 merge 的别名

Parameters

  • array1 : Array
  • array2 : Array
  • etc : Array

Returns

  • Array

    合并的数组

 
Ext.Array
view source
unique( Array array ) : Array

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

Parameters

  • array : Array

Returns

  • Array

    结果


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