jQuery数组处理方法汇总


Posted in Javascript onJune 20, 2011

$.each(array, [callback])遍历,很常用

var arr = ['javascript', 'php', 'java', 'c++', 'c#', 'perl', 'vb', 'html', 'css', 'objective-c']; 
$.each(arr, function(key, val) { 
// firebug console 
console.log('index in arr:' + key + ", corresponding value:" + val); 
// 如果想退出循环 
// return false; 
});

$.grep(array, callback, [invert])过滤,常用
var temp = []; 
temp = $.grep(arr, function(val, key) { 
if(val.indexOf('c') != -1) 
return true; 
// 如果[invert]参数不给或为false, $.grep只收集回调函数返回true的数组元素 
// 反之[invert]参数为true, $.grep收集回调函数返回false的数组元素 
}, false); 
console.dir(temp);

$.map(array, [callback])用的不是太多
//1.6之前的版本只支持数组 
temp = $.map(arr, function(val, key) { 
//返回null,返回的数组长度减1 
if(val === 'vb') return null; 
return val; 
}); 
console.dir(temp); 
//1.6开始支持json格式的object 
var obj = {key1: 'val1', key2: 'val2', key3: 'val3'}; 
temp = $.map(obj, function(val, key) { 
return val; 
}); 
console.dir(temp);

$.inArray(val, array)判断是否在指定数组中,常用
//返回元素在数组中的位置,0为起始位置,返回-1则未找到该元素 
console.log($.inArray('javascript', arr));

$.merge(first, second)合并两个数组,使用频率一般
var frontEnd = ['javascript', 'css', 'html'], 
backEnd = ['java', 'php', 'c++']; 
// 这种方式会修改第一个参数, 即frontEnd数组 
temp = $.merge(frontEnd, backEnd); 
console.dir(temp); 
console.dir(frontEnd); 
// 可以用下面的方式来避免对原数组的影响 
// $.merge($.merge([], frontEnd), backEnd);

$.unique(array)过滤数组中的重复元素,不常用
<DIV>blahblahblah....</DIV> 
<DIV></DIV> 
<DIV class=dup></DIV> 
<DIV class=dup></DIV> 
<DIV class=dup></DIV> 
<DIV></DIV> 
// $.unique只支持DOM元素数组,去除重复DOM元素,不支持其他类型数组(String或者Number) 
// 获得原始的DOM数组,而不是jQuery封装的 
var divs = $('div').get(); 
// 增加几个class为dup的div 
divs = divs.concat($('div.dup').get()); 
console.log("before unique:" + divs.length); 
divs = $.unique(divs); 
console.log("after unique:" + divs.length);

$.makeArray(obj)将类数组对象转成数组,不常用
//首先什么是类数组对象?jQuery官网上用divs = getElementsByTag('div')来做例子 
//这个divs有类似数组的一些方法比如length,通过[index]方式获取元素等 
//然后通过$.makeArray(divs)使它转为数组,就可以用数组的其他功能 
//比如reverse(), pop()等

$(dom).toArray()将jQuery集合恢复成DOM数组,不常用
 
//跟makeArray一样,相当的不常用,一般情况可以忽略
本文参考Mr.Think的blog,在此感谢分享
Javascript 相关文章推荐
JavaScript delete操作符应用实例
Jan 13 Javascript
基于jquery的滑动样例代码
Nov 20 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
Jan 29 Javascript
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
Feb 04 Javascript
去掉gridPanel表头全选框的小例子
Jul 18 Javascript
Node.js DES加密的简单实现
Jul 07 Javascript
实例分析浏览器中“JavaScript解析器”的工作原理
Dec 12 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
Jun 19 Javascript
Angular 容器部署的方法
Apr 17 Javascript
微信小程序实现的一键拨号功能示例
Apr 24 Javascript
使用Vue.observable()进行状态管理的实例代码详解
May 26 Javascript
解决vant的Toast组件时提示not defined的问题
Nov 11 Javascript
jQuery UI AutoComplete 使用说明
Jun 20 #Javascript
jQuery 源码分析笔记(3) Deferred机制
Jun 19 #Javascript
jQuery 源码分析笔记(7) Queue
Jun 19 #Javascript
jQuery 源码分析笔记(5) jQuery.support
Jun 19 #Javascript
jQuery调用WebService的实现代码
Jun 19 #Javascript
非常棒的10款jQuery 幻灯片插件
Jun 14 #Javascript
在jquery中处理带有命名空间的XML数据
Jun 13 #Javascript
You might like
set_include_path在win和linux下的区别
2008/01/10 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
ThinkPHP路由详解
2015/07/27 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
用JavaScript对JSON进行模式匹配(Part 1-设计)
2010/07/17 Javascript
这些年、我收集的JQuery代码小结
2012/08/01 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
IONIC自定义subheader的最佳解决方案
2016/09/22 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
浅谈Node.js 沙箱环境
2018/05/15 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
详解Python中的join()函数的用法
2015/04/07 Python
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
伦敦时尚生活的缩影:LN-CC
2017/01/24 全球购物
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
自考生自我鉴定范文
2013/10/01 职场文书
运输服务质量承诺书
2014/03/27 职场文书
计算机专业求职信
2014/06/02 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
学校与家长安全责任书
2014/07/23 职场文书
资源环境与城乡规划管理专业自荐书
2014/09/26 职场文书
缓刑人员思想汇报
2014/10/11 职场文书