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的trim,ltrim,rtrim自定义函数
Sep 21 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
Jul 12 Javascript
jquery实现弹出层完美居中效果
Mar 03 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
Apr 30 Javascript
动态载入js提高网页打开速度的方法
Jul 04 Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 Javascript
JQuery异步加载PartialView的方法
Jun 07 Javascript
实现React单页应用的方法详解
Aug 02 Javascript
js中split()方法得到的数组长度问题
Jul 19 Javascript
监听element-ui table滚动事件的方法
Mar 26 Javascript
利用H5api实现时钟的绘制(javascript)
Sep 13 Javascript
关于angular 8.1使用过程中的一些记录
Nov 25 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程序--记数器
2006/10/09 PHP
PHP开发注意事项总结
2015/02/04 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
2014/03/05 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
javascript表单验证和Window详解
2014/12/11 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
js每隔两秒输出数组中的一项(实例)
2017/05/28 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
Vue实现移动端拖拽交换位置
2020/07/29 Javascript
有关Python的22个编程技巧
2018/08/29 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
2020/05/27 Python
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
python 实现波浪滤镜特效
2020/12/02 Python
美国购买隐形眼镜网站:Lenses For Less
2020/07/05 全球购物
文员个人的求职信范文
2013/09/26 职场文书
劳资员岗位职责
2013/11/11 职场文书
24岁生日感言
2014/01/13 职场文书
入党申请自荐书范文
2014/02/11 职场文书
正风肃纪剖析材料
2014/02/18 职场文书
开学典礼策划方案
2014/05/28 职场文书
四风自我剖析材料
2014/09/30 职场文书
史上最牛辞职信
2015/05/13 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
军训心得体会范文(2016最新篇)
2016/01/11 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
Win11 Build 22000.829更新补丁KB5015882发布(附更新修复内容汇总)
2022/07/15 数码科技