zoukankan      html  css  js  c++  java
  • WB8常用函数说明(二)

    1:store

    getRange() :获取整个store的所有Ext.data.Model[]

    解释:store1.getRange()[0].getData()

    数据数组

    2:常用函数

    difference( Array arrayA, Array arrayB ) : Array

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

    clean( Array array ) : Array

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

    clone( Array array ) : Array

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

    contains( Array array, Object item ) : Boolean

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

    difference( Array arrayA, Array arrayB ) : Array

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

    each( Array/NodeList/Object iterable, Function fn, [Object scope], [Boolean reverse] ) : Boolean

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

    举例:

    var countries = ['Vietnam', 'Singapore', 'United States', 'Russia'];
    
    .each(countries, function(name, index, countriesItSelf) {
        console.log(name);
    });
    
    var sum = function() {
        var sum = 0;
    
        .each(arguments, function(value) {
            sum += value;
        });
    
        return sum;
    };
    
    sum(1, 2, 3); // 返回 6
    .each(countries, function(name, index, countriesItSelf) {
        if (name === 'Singapore') {
            return false; // 此处中止
        }
    });
    erase( Array array, Number index, Number removeCount ) : Array

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

    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.

     

    Array array ) : Array

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

     

    Array array, Function fn, [Object scope] )

    迭代一个数组,在每个元素上调用给定的回调函数。注意如果原生的Array.prototype.forEach被支持, 这个函数将委托到Array.prototype.forEach。它不支持像each一样, 通过返回一个false来停止迭代。 因此,其性能在现代的浏览器中会比each更好。

     

    Object value, [Boolean newReference] ) : Array

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

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

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

     

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

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

     

    Array array, Number index, Array items ) : Array

    在数组中插入多个元素

     

    Array array1, Array array2, Array etc ) : Array

    返回多个数组的公共交集

     

    Array array, Function fn, Object scope ) : Array

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

     

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

    返回数组中的最大值

     

    Array array ) : Number

    计算数组中元素的平均值

     

    Array array1, Array array2, Array etc ) : Array

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

    union 是 merge 的别名

     

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

    返回数组中的最小值

     

    Array/NodeList array, String propertyName ) : Array

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

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

     

     

     
    Array target, Object... elements ) : Array

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

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

     

    Array array, Object item ) : Array

    移除数组中的制定元素

     

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

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

     

    Array array, Number begin, Number end ) : Array

    返回一个数组中一部分的浅表复制。 等价于 原生方法 "Array.prototype.slice.call(array, begin, end)"。 经常被使用于数组 作为arguments,arguments对象没有提供slice方法, 但是可以作为上下文对象使用 Array.prototype.slice方法。

     

    Array array, Function fn, Object scope ) : Boolean

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

     

    Array array, [Function sortFn] ) : Array

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

     

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

    替换数组里的多个元素。这个功能相当于Array的splice方法。 但是避免了IE8的splice函数bug,除了第一个argument参数以外, 与splice方法的签名相同。 removeCount后面的所有参数都将被插入到指定位置。

     

    Array array ) : Number

    计算数组中元素的和

     

    Object iterable, [Number start], [Number end] ) : Array

    将一个可迭代元素(具有数字下标和length属性)转换为一个真正的数组

    function test() {
        var args = .toArray(arguments),
            fromSecondToLastArgs = .toArray(arguments, 1);
    
        alert(args.join(' '));
        alert(fromSecondToLastArgs.join(' '));
    }
    
    test('just', 'testing', 'here'); // 提示 'just testing here';
                                     // 提示 'testing here';
    
    .toArray(document.getElementsByTagName('div')); // 将把 NodeList 转换成一个数组
    .toArray('splitted'); // returns ['s', 'p', 'l', 'i', 't', 't', 'e', 'd']
    .toArray('splitted', 0, 3); // returns ['s', 'p', 'l']
    Object array, Object getKey, Object scope )

    使用给定数组中的元素作为key,创建一个map对象, 值是元素的索引+1。示例:

    var map = .toMap(['a','b','c']);
    
     // map = { a: 1, b: 2, c: 3 };
    
     var map = .toMap([
             { name: 'a' },
             { name: 'b' },
             { name: 'c' }
         ], 'name');
    
     // map = { a: 1, b: 2, c: 3 };
    
     var map = .toMap([
             { name: 'a' },
             { name: 'b' },
             { name: 'c' }
         ], function (obj) { return obj.name.toUpperCase(); });
    
     // map = { A: 1, B: 2, C: 3 };
    Array array1, Array array2, Array etc ) : Array

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

    union 是 merge 的别名

     

    Array array ) : Array

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

     

    3:EXT.Object

    Object object, Function fn, [Object scope] )

    迭代一个对象,在每个迭代上调用给定的回调函数 在回调函数中返回 false 可以停止迭代. 示例:

    var person = {
        name: 'Jacky'
        hairColor: 'black'
        loves: ['food', 'sleeping', 'wife']
    };
    
    Ext.Object.each(person, function(key, value, myself) {
        console.log(key + ":" + value);
    
        if (key === 'hairColor') {
            return false; // 停止迭代
        }
    });
    String queryString, [Boolean recursive] ) : Object

    将查询字符串转换回对象。

    不递归:

    Ext.Object.fromQueryString("foo=1&bar=2"); // 返回 {foo: 1, bar: 2}
    Ext.Object.fromQueryString("foo=&bar=2"); // 返回 {foo: null, bar: 2}
    Ext.Object.fromQueryString("some%20price=%24300"); // 返回 {'some price': '$300'}
    Ext.Object.fromQueryString("colors=red&colors=green&colors=blue"); // 返回 {colors: ['red', 'green', 'blue']}

    递归:

    Ext.Object.fromQueryString(
        "username=Jacky&"+
        "dateOfBirth[day]=1&dateOfBirth[month]=2&dateOfBirth[year]=1911&"+
        "hobbies[0]=coding&hobbies[1]=eating&hobbies[2]=sleeping&"+
        "hobbies[3][0]=nested&hobbies[3][1]=stuff", true);
    
    // 返回
    {
        username: 'Jacky',
        dateOfBirth: {
            day: '1',
            month: '2',
            year: '1911'
        },
        hobbies: ['coding', 'eating', 'sleeping', ['nested', 'stuff']]
    }
    Object object, Object value )

    根据指定的值,返回第一个匹配的key. 如果没有匹配的值,将返回null.

    var person = {
        name: 'Jacky',
        loves: 'food'
    };
    
    alert(Ext.Object.getKey(person, 'food')); // 弹出警告 'loves'
    Object object ) : String[]

    获取所有对象的key组成的数组

    var values = Ext.Object.getKeys({
        name: 'Jacky',
        loves: 'food'
    }); // ['name', 'loves']
    Object object ) : Number

    获取此对象的所有自有属性的数目

    var size = Ext.Object.getSize({
        name: 'Jacky',
        loves: 'food'
    }); // size 等于 2
    Object object ) : Array

    获取给定对象所有的值组成的数组。

    var values = Ext.Object.getValues({
        name: 'Jacky',
        loves: 'food'
    }); // ['Jacky', 'food']
    Object destination, Object... object ) : Object

    递归的合并任意数目的对象,但是不引用他们或他们的子对象。

    var extjs = {
        companyName: 'Ext JS',
        products: ['Ext JS', 'Ext GWT', 'Ext Designer'],
        isSuperCool: true,
        office: {
            size: 2000,
            location: 'Palo Alto',
            isFun: true
        }
    };
    
    var newStuff = {
        companyName: 'Sencha Inc.',
        products: ['Ext JS', 'Ext GWT', 'Ext Designer', 'Sencha Touch', 'Sencha Animator'],
        office: {
            size: 40000,
            location: 'Redwood City'
        }
    };
    
    var sencha = Ext.Object.merge(extjs, newStuff);
    
    // 此时extjs和sencha等于
    {
        companyName: 'Sencha Inc.',
        products: ['Ext JS', 'Ext GWT', 'Ext Designer', 'Sencha Touch', 'Sencha Animator'],
        isSuperCool: true,
        office: {
            size: 40000,
            location: 'Redwood City',
            isFun: true
        }
    }
    String name, Object/Array value, [Boolean recursive] ) : Array

    将一个name - value对转换为一个对象数组,支持内部结构的转换,对构造查询字符串非常有用。 示例:

    var objects = Ext.Object.toQueryObjects('hobbies', ['reading', 'cooking', 'swimming']);
    
    // objects此时等于:
    [
        { name: 'hobbies', value: 'reading' },
        { name: 'hobbies', value: 'cooking' },
        { name: 'hobbies', value: 'swimming' },
    ];
    
    var objects = Ext.Object.toQueryObjects('dateOfBirth', {
        day: 3,
        month: 8,
        year: 1987,
        extra: {
            hour: 4
            minute: 30
        }
    }, true); // 递归
    
    // objects此时等于:
    [
        { name: 'dateOfBirth[day]', value: 3 },
        { name: 'dateOfBirth[month]', value: 8 },
        { name: 'dateOfBirth[year]', value: 1987 },
        { name: 'dateOfBirth[extra][hour]', value: 4 },
        { name: 'dateOfBirth[extra][minute]', value: 30 },
    ];
    Object object, [Boolean recursive] ) : String

    将一个对象转换成编码的查询字符串

    不递归:

    Ext.Object.toQueryString({foo: 1, bar: 2}); // 返回 "foo=1&bar=2"
    Ext.Object.toQueryString({foo: null, bar: 2}); // 返回 "foo=&bar=2"
    Ext.Object.toQueryString({'some price': '$300'}); // 返回 "some%20price=%24300"
    Ext.Object.toQueryString({date: new Date(2011, 0, 1)}); // 返回 "date=%222011-01-01T00%3A00%3A00%22"
    Ext.Object.toQueryString({colors: ['red', 'green', 'blue']}); // 返回 "colors=red&colors=green&colors=blue"

    递归:

    Ext.Object.toQueryString({
        username: 'Jacky',
        dateOfBirth: {
            day: 1,
            month: 2,
            year: 1911
        },
        hobbies: ['coding', 'eating', 'sleeping', ['nested', 'stuff']]
    }, true); // 返回如下字符串(换行和url-decoded是为了便于阅读的目的):
    // username=Jacky
    //    &dateOfBirth[day]=1&dateOfBirth[month]=2&dateOfBirth[year]=1911
    //    &hobbies[0]=coding&hobbies[1]=eating&hobbies[2]=sleeping&hobbies[3][0]=nested&hobbies[3][1]=stuff
    Array array, Function fn, Object scope ) : Boolean

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

     
    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. ...
     
    flattenArray array ) : Array
    递归将数组和数组中的元素转换为1维数组。 ...
     
    forEachArray array, Function fn, [Object scope] )
    迭代一个数组,在每个元素上调用给定的回调函数。注意如果原生的Array.prototype.forEach被支持, 这个函数将委托到Array.prototype.forEach。它不支持像each一样, 通过返回一个false来停止迭代。 ...


    fromObject value, [Boolean newReference] ) : Array
    将一个值转换为一个数组,函数返回: 一个空数组,如果给定的值是 undefined 或 null 数组本身,如果已经是一个数组 一个数组的拷贝,如果给定的值是 iterable (arguments, NodeList 等等) 一...


    includeArray array, Object item )
    把一个元素插入到数组,如果它不存在于这个数组 ...


    indexOfArray array, Object item, [Number from] ) : Number
    查找指定元素在数组中的索引位置, 补充IE中缺少的arrayPrototype.indexOf原生方法。 ...
     
    insertArray array, Number index, Array items ) : Array
    在数组中插入多个元素 ...
     
     
    intersectArray array1, Array array2, Array etc ) : Array
    返回多个数组的公共交集 ...
     
     
    mapArray array, Function fn, Object scope ) : Array
    通过在数组的每个元素中调用一个特定函数,用结果创建一个新数组, ...
     
     
    maxArray/NodeList array, [Function comparisonFn] ) : Object
    返回数组中的最大值 ...
     
     
    meanArray array ) : Number
    计算数组中元素的平均值 ...
     
     
    mergeArray array1, Array array2, Array etc ) : Array
    合并多个数组中的不重复元素到一个数组 union 是 merge 的别名 ...
     
     
    minArray/NodeList array, [Function comparisonFn] ) : Object
    返回数组中的最小值 ...
     
     
    pluckArray/NodeList array, String propertyName ) : Array
    获取数组中每个元素的制定属性值. ...
     
     
    pushArray target, Object... elements ) : Array
    在数组的末尾添加新的元素 参数可能是一个元素集合、也可能是多个元素集合的数组。如果参数列表中存在一个数组, 则它的所有元素都将被添加到给定数组的末尾。 ...
     
     
    removeArray array, Object item ) : Array
    移除数组中的制定元素 ...
     
     
    replaceArray array, Number index, Number , [Array insert] ) : Array
    替换数组里的多个元素。这个功能相当于Array的splice方法。 ...
     
     
    sliceArray array, Number begin, Number end ) : Array
    返回一个数组中一部分的浅表复制。 ...
     
     
    someArray array, Function fn, Object scope ) : Boolean
    在数组的每个元素上执行指定函数,直到函数返回一个true值 如果某个元素上返回了true值,本函数立即返回true ...
     
     
    sortArray array, [Function sortFn] ) : Array
    排序数组中的元素 默认使用字母表,按升序排序 ...
     
     
    spliceArray array, Number index, Number removeCount, Object... elements ) : Array
    替换数组里的多个元素。这个功能相当于Array的splice方法。 ...
     
     
    sumArray array ) : Number
    计算数组中元素的和 ...
     
     
    toArrayObject iterable, [Number start], [Number end] ) : Array
    将一个可迭代元素(具有数字下标和length属性)转换为一个真正的数组 function test() { var args = .toArray(arguments), fromSecon...
     
     
    toMapObject array, Object getKey, Object scope )
    使用给定数组中的元素作为key,创建一个map对象, 值是元素的索引+1。示例: var map = .toMap(['a','b','c']); // map = { a: 1, b: 2, c: 3 };...
     
     
    unionArray array1, Array array2, Array etc ) : Array
    合并多个数组中的不重复元素到一个数组 union 是 merge 的别名 ...
     
     
    uniqueArray array ) : Array
    返回一个去掉重复元素的新数组
  • 相关阅读:
    对Item中定时器的理解
    ClassLoader类加载机制&&JVM内存管理
    基于Quartz实现简单的定时发送邮件
    基于NIO的Socket通信
    1、svn架设、基本命令
    sysbench基准测试(2)——oltp.lua测试
    sysbench基准测试工具使用
    1、linux软件包管理
    7、数据结构五:sorted sets
    6、数据类型四:sets
  • 原文地址:https://www.cnblogs.com/wychytu/p/8039177.html
Copyright © 2011-2022 走看看