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 相关文章推荐
JS获取scrollHeight问题想到的标准问题
May 27 Javascript
javascript对象之内置对象Math使用方法
Apr 16 Javascript
javascript闭包的理解和实例
Aug 12 Javascript
jQuery 全选/反选以及单击行改变背景色实例
Jul 02 Javascript
在AngularJS中使用AJAX的方法
Jun 17 Javascript
包含中国城市的javascript对象实例
Aug 03 Javascript
Bootstrap每天必学之附加导航(Affix)插件
Apr 25 Javascript
AngularJS ng-bind 指令简单实现
Jul 30 Javascript
原生js实现秒表计时器功能
Feb 16 Javascript
Vue登录注册并保持登录状态的方法
Aug 17 Javascript
跨域解决之JSONP和CORS的详细介绍
Nov 21 Javascript
vue安装遇到的5个报错及解决方法
Jun 12 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
德生PL990的分析评价
2021/03/02 无线电
Js之软键盘实现(js源码)
2007/01/30 Javascript
快速排序 php与javascript的不同之处
2011/02/22 Javascript
event.X和event.clientX的区别分析
2011/10/06 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
JS浮点数运算结果不精确的Bug解决
2019/08/01 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
python之PyMongo使用总结
2017/05/26 Python
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
Python实现学校管理系统
2018/01/11 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
2020/01/17 Python
Django分组聚合查询实例分享
2020/04/29 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
详解window.open被浏览器拦截的解决方案
2019/07/18 HTML / CSS
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
教师学习培训邀请函
2014/02/04 职场文书
后勤主管岗位职责
2014/03/01 职场文书
环境保护标语
2014/06/20 职场文书
防灾减灾活动总结
2014/08/30 职场文书
单身申明具结书
2015/02/26 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
农业项目合作意向书
2015/05/08 职场文书
邹越演讲观后感
2015/06/15 职场文书
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android
Redis基本数据类型List常用操作命令
2022/06/01 Redis
vue实现在data里引入相对路径
2022/06/05 Vue.js