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 相关文章推荐
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
Jan 09 Javascript
通过 Dom 方法提高 innerHTML 性能
Mar 26 Javascript
使弱类型的语言JavaScript变强势
Jun 22 Javascript
通过onmouseover选项卡实现img图片的变化
Feb 12 Javascript
window.location.hash知识汇总
Nov 09 Javascript
JavaScript与HTML的结合方法详解
Nov 23 Javascript
初步使用bootstrap快速创建页面
Mar 03 Javascript
解决Angular.Js与Django标签冲突的方案
Dec 20 Javascript
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
Vue-cli3.x + axios 跨域方案踩坑指北
Jul 04 Javascript
在Vue环境下利用worker运行interval计时器的步骤
Aug 01 Javascript
vue样式穿透 ::v-deep的具体使用
Jun 04 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类的封装与继承详解
2015/09/29 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
Mac下关于PHP环境和扩展的安装详解
2019/10/17 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
[48:05]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VGJ.T vs VP
2018/03/31 DOTA
[44:51]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第二场
2018/04/05 DOTA
python3编写C/S网络程序实例教程
2014/08/25 Python
Python最长公共子串算法实例
2015/03/07 Python
Python中异常重试的解决方案详解
2017/05/05 Python
Python机器学习之决策树算法
2017/12/22 Python
python高阶爬虫实战分析
2018/07/29 Python
python实现flappy bird游戏
2018/12/24 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
详解Python利用random生成一个列表内的随机数
2019/08/21 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
毕业生求职推荐信
2013/11/04 职场文书
小学少先队活动方案
2014/02/18 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python