有段时间没写什么了, 打算把jquery中的比较常用的数组处理方法汇总一下
$.each(array, [callback])遍历,很常用
1 2 3 4 5 6 7 8 | var arr = [ 'javascript' , 'php' , 'java' , 'c++' , 'c#' , 'perl' , 'vb' , 'html' , 'css' , 'objective-c' ];
$.each(arr, function (key, val) {
console.log( 'index in arr:' + key + ", corresponding value:" + val);
});
|
$.grep(array, callback, [invert])过滤,常用
1 2 3 4 5 6 7 8 9 | var temp = [];
temp = $.grep(arr, function (val, key) {
if (val.indexOf( 'c' ) != -1)
return true ;
}, false );
console.dir(temp);
|
$.map(array, [callback])用的不是太多
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | temp = $.map(arr, function (val, key) {
if (val === 'vb' ) return null ;
return val;
});
console.dir(temp);
var obj = {key1: 'val1' , key2: 'val2' , key3: 'val3' };
temp = $.map(obj, function (val, key) {
return val;
});
console.dir(temp);
|
$.inArray(val, array)判断是否在指定数组中,常用
1 2 3 | console.log($.inArray( 'javascript' , arr));
|
$.merge(first, second)合并两个数组,使用频率一般
1 2 3 4 5 6 7 8 9 | var frontEnd = [ 'javascript' , 'css' , 'html' ],
backEnd = [ 'java' , 'php' , 'c++' ];
temp = $.merge(frontEnd, backEnd);
console.dir(temp);
console.dir(frontEnd);
|
$.unique(array)过滤数组中的重复元素,不常用
1 2 3 4 5 6 7 8 9 | var divs = $( 'div' ).get();
divs = divs.concat($( 'div.dup' ).get());
console.log( "before unique:" + divs.length);
divs = $.unique(divs);
console.log( "after unique:" + divs.length);
|
$.makeArray(obj)将类数组对象转成数组,不常用
$(dom).toArray()将jQuery集合恢复成DOM数组,不常用