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 相关文章推荐
单独使用CKFinder选择图片的方法
Aug 21 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
Dec 08 Javascript
纯JS实现的批量图片预览加载功能
Aug 14 Javascript
js交换排序 冒泡排序算法(Javascript版)
Oct 04 Javascript
详解JavaScript中localStorage使用要点
Jan 13 Javascript
AngularJS过滤器详解及示例代码
Aug 16 Javascript
bootstrap模态框远程示例代码分享
May 22 Javascript
Angularjs中使用轮播图指令swiper
May 30 Javascript
小程序自定义单页面、全局导航栏的实现代码
Mar 15 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
Jul 04 Javascript
JS动态显示倒计时效果
Dec 12 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
Oct 27 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
PHP 组件化编程技巧
2009/06/06 PHP
php中Socket创建与监听实现方法
2015/01/05 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
jquery JSON的解析方式
2009/07/25 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
JQuery datepicker 使用方法
2011/05/20 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
JavaScript实现图片轮播组件代码示例
2016/11/22 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
深入理解Nodejs Global 模块
2017/06/03 NodeJs
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
2019/04/30 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
2020/06/08 Javascript
jquery实现图片放大镜效果
2020/12/23 jQuery
Python中的上下文管理器和with语句的使用
2018/04/17 Python
PyQt5每天必学之日历控件QCalendarWidget
2018/04/19 Python
详解python读取和输出到txt
2019/03/29 Python
Python阶乘求和的代码详解
2020/02/14 Python
python反扒机制的5种解决方法
2021/02/06 Python
深入浅析CSS3中的Flex布局整理
2020/04/27 HTML / CSS
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
萨克斯第五大道的折扣店:Saks Fifth Avenue OFF 5TH
2016/08/25 全球购物
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
美国创意之家:BulbHead
2017/07/12 全球购物
白色公司:The White Company
2017/10/11 全球购物
接口中的方法可以是abstract的吗
2015/07/23 面试题
党章学习思想汇报
2014/01/14 职场文书
小学教师读书活动总结
2014/07/08 职场文书
医药销售自我评价200字
2014/09/11 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
一个都不能少观后感
2015/06/04 职场文书
Python 批量下载阴阳师网站壁纸
2021/05/19 Python
Node.js实现断点续传
2021/06/23 Javascript
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js