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 相关文章推荐
DOM2非标准但却支持很好的几个属性小结
Jan 21 Javascript
将json对象转换为字符串的方法
Feb 20 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
May 03 Javascript
详谈javascript中DOM的基本属性
Feb 26 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
Jul 01 Javascript
基于javascript数组实现图片轮播
May 02 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
Jun 07 Javascript
简单理解vue中Props属性
Oct 27 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
Dec 07 Javascript
jQuery - AJAX load() 实例用法详解
Aug 27 jQuery
jQuery实现简单评论功能
Aug 19 jQuery
Vue实现摇一摇功能(兼容ios13.3以上)
Jan 26 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
PHP操作数组相关函数
2011/02/03 PHP
php模板原理讲解
2013/11/13 PHP
php中stream(流)的用法
2014/03/25 PHP
ThinkPHP的Widget扩展实例
2014/06/19 PHP
PHP框架Laravel的小技巧两则
2015/02/10 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
php实现websocket实时消息推送
2018/03/30 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
2015/08/07 Javascript
基于JavaScript实现智能右键菜单
2016/03/02 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
移动端触摸滑动插件swiper使用方法详解
2017/08/11 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
python爬取个性签名的方法
2018/06/17 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
Python设计模式之解释器模式原理与用法实例分析
2019/01/10 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
CSS3 伪类选择器 nth-child()说明
2010/07/10 HTML / CSS
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
存储过程和sql语句的优缺点
2014/07/02 面试题
linux系统都有哪些运行级别
2012/04/15 面试题
毕业生自我鉴定范文
2013/11/08 职场文书
信息管理员岗位职责
2013/12/01 职场文书
大学生村官心得体会范文
2014/01/04 职场文书
商业门面租房协议书
2014/11/25 职场文书
学校扫黄打非工作总结
2015/10/15 职场文书
2016新教师培训心得体会范文
2016/01/08 职场文书
高一语文教学反思
2016/02/16 职场文书