一、遍历
$.each(arr, callback(key, val));
1、回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个为对应变量或内容
2、如果需要退出 each 循环,可使回调函数返回 false,用return false, 其它返回值将被忽略.
3、例如
var arr = [1, 2, 3, 4];
$.each(arr, function(key, val) {
console.log(arr[key] + '下标为' + key + '值为' + val);
// 如果想退出循环
// return false;
});
二、筛选
$.grep(arr, callback, invert)
1、此函数至少传递两个参数,第三个参数为true或false,对过滤函数返回值取反
2、默认invert为false, 即过滤函数返回true为保留元素. 如果设置invert为true, 则过滤函数返回true为删除元素.
3、过滤函数必须返回 true 以保留元素或 false 以删除元素.
4、例如
var temp = [];
temp = $.grep(arr, function(val, key){
if(val.indexOf('c') != -1)
return val;
// 如果[invert]参数不给或为false, $.grep只收集回调函数返回true的数组元素
// 反之[invert]参数为true, $.grep收集回调函数返回false的数组元素
}, false);
三、转换
$.map(arr,callback(key,val))
1、将一个数组中的元素转换到另一个数组中。
2、和each函数差不多, 区别就是回调函数可以改变当前元素.返回null则删除当前元素.
3、例如
var a = [1, 2, 3, 4];
$.map(a, function(val, key) {
//返回null,返回的数组长度减1
if(val == 'vb') return null;
if (a[key] > 2) {
a[key]=val+1;
}
return val;
});
四、合并
$.merge(arr1,arr2)
1、arr1后面加上arr2后返回arr1
2、例如
var frontEnd = ['javascript', 'css', 'html'],
backEnd = ['java', 'php', 'c++'];
// 这种方式会修改第一个参数, 即frontEnd数组
temp = $.merge(frontEnd, backEnd);
// 可以用下面的方式来避免对原数组的影响
// $.merge($.merge([], frontEnd), backEnd);
文章转载自: Jquery对数组的操作 http://www.studyofnet.com/news/999.html