首页 > 代码库 > jquery工具方法makeArray/merge

jquery工具方法makeArray/merge

makeArray : 类数组转真数组

merge : 合并数组或转特殊json

使用例子(外部使用):

var aDiv = document.getElementsByTagName(‘div‘);
console.log($.makeArray(aDiv));  //[div,div,div]

var str = ‘hello‘;
console.log($.makeArray(str)); //[‘hello‘]

var num = 123;
console.log($.makeArray(num)); //[123]

使用例子(内部使用):

var num = 123;
console.log($.makeArray(num, {length:0})); //{0:123,length:1}

var core_push = Array.prototype.push,        ....................jQuery.extend({    ......................    // results is for internal usage only    makeArray: function( arr, results ) {        var type,            ret = results || [];        if ( arr != null ) {            // The window, strings (and functions) also have ‘length‘            // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930            type = jQuery.type( arr );            if ( arr.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( arr ) ) {                core_push.call( ret, arr );            } else {                jQuery.merge( ret, arr );            }        }        return ret;    },    merge: function( first, second ) {        var l = second.length,            i = first.length,            j = 0;        if ( typeof l === "number" ) {            for ( ; j < l; j++ ) {                first[ i++ ] = second[ j ];            }        } else {            while ( second[j] !== undefined ) {                first[ i++ ] = second[ j++ ];            }        }        first.length = i;        return first;    },    ...............});

 

jquery工具方法makeArray/merge