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 form 验证函数 弹出对话框形式
Jun 23 Javascript
js自定义事件代码说明
Jan 31 Javascript
jQuery javaScript捕获回车事件(示例代码)
Nov 07 Javascript
node.js中的fs.readFile方法使用说明
Dec 15 Javascript
JavaScript中的方法调用详细介绍
Dec 30 Javascript
javascript显式类型转换实例分析
Apr 25 Javascript
基于React.js实现原生js拖拽效果引发的思考
Mar 30 Javascript
JS实现一个简单的日历
Feb 22 Javascript
微信小程序开发背景图显示功能
Aug 08 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
Jul 26 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
May 10 Javascript
使用vue编写h5公众号跳转小程序的实现代码
Nov 27 Vue.js
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
人大复印资料处理程序_输入篇
2006/10/09 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
一些不错的js函数ajax
2008/08/20 Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
JavaScript实现的字符串replaceAll函数代码分享
2015/04/02 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
微信小程序支付功能 php后台对接完整代码分享
2018/06/12 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
微信小程序页面间跳转传参方式总结
2019/06/13 Javascript
layui-select动态选中值的例子
2019/09/23 Javascript
python实现多线程采集的2个代码例子
2014/07/07 Python
Python多进程机制实例详解
2015/07/02 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
python函数与方法的区别总结
2019/06/23 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
2019/08/27 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
五种Python转义表示法
2020/11/27 Python
世界上最好的足球商店:Unisport
2019/03/02 全球购物
工地资料员岗位职责
2013/12/31 职场文书
工程技术员岗位职责
2014/03/02 职场文书
司仪主持词两篇
2014/03/22 职场文书
酒店节能降耗方案
2014/05/08 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
CSS基础详解
2021/10/16 HTML / CSS
Redis的字符串是如何实现的
2021/10/24 Redis
Oracle锁表解决方法的详细记录
2022/06/05 Oracle