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实现划词标记+划词搜索功能
Mar 06 Javascript
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
Aug 04 Javascript
jMessageBox 基于jQuery的窗口插件
Dec 09 Javascript
在JavaScript中获取请求的URL参数
Dec 22 Javascript
JSON取值前判断
Dec 23 Javascript
简介JavaScript中的setDate()方法的使用
Jun 11 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
Oct 17 Javascript
JavaScript实现图像模糊化的方法实例
Jan 15 Javascript
JS实现双击内容变为可编辑状态
Mar 03 Javascript
关于vue.js中实现方法内某些代码延时执行
Nov 14 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
Feb 28 Javascript
vue脚手架项目创建步骤详解
Mar 02 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
codeigniter发送邮件并打印调试信息的方法
2015/03/21 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
一端时间轮换的广告
2006/06/26 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
基于Marquee.js插件实现的跑马灯效果示例
2017/01/25 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
简单谈谈Python中函数的可变参数
2016/09/02 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
Python 测试框架unittest和pytest的优劣
2020/09/26 Python
解决CSS3的opacity属性带来的层叠顺序问题
2016/05/09 HTML / CSS
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
SHEIN美国:购买时髦的女性服装
2020/12/02 全球购物
如何唤起类中的一个方法
2013/11/29 面试题
元旦晚会邀请函
2014/02/01 职场文书
《窗前的气球》教学反思
2014/04/07 职场文书
村党支部公开承诺书
2014/05/29 职场文书
个人总结与自我评价
2014/09/18 职场文书
单位委托书
2014/10/15 职场文书
骨干教师考核评语
2014/12/31 职场文书
质检员岗位职责
2015/02/03 职场文书
2015年度团总支工作总结
2015/04/23 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书
Golang之sync.Pool使用详解
2021/05/06 Golang