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 相关文章推荐
基于Jquery的将DropDownlist的选中值赋给label的实现代码
May 06 Javascript
JavaScript内核之基本概念
Oct 21 Javascript
js substring从右边获取指定长度字符串(示例代码)
Dec 23 Javascript
按Enter键触发事件的jquery方法实现代码
Feb 17 Javascript
jQuery截取指定长度字符串代码
Aug 21 Javascript
jQuery实现表格展开与折叠的方法
May 04 Javascript
freemarker判断对象是否为空的方法
Aug 13 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
Apr 25 Javascript
关于TypeScript中import JSON的正确姿势详解
Jul 25 Javascript
微信小程序删除处理详解
Aug 16 Javascript
vue组件学习教程
Sep 09 Javascript
Angular @HostBinding()和@HostListener()用法
Mar 05 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
Apache2 httpd.conf 中文版
2006/11/17 PHP
服务器web工具 php环境下
2010/12/29 PHP
php学习之流程控制实现代码
2011/06/09 PHP
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
PHP微信开发之文本自动回复
2016/06/23 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
解决laravel查询构造器中的别名问题
2019/10/17 PHP
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
使用jquery解析XML示例代码
2014/09/05 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
2015/01/31 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
2017/02/18 Javascript
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
2017/03/21 jQuery
ES6新特性一: let和const命令详解
2017/04/20 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
JS函数节流和函数防抖问题分析
2017/12/18 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
layui-table表复选框勾选的所有行数据获取的例子
2019/09/13 Javascript
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
python实现简单遗传算法
2018/03/19 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
python kafka 多线程消费者&amp;手动提交实例
2019/12/21 Python
使用python实现微信小程序自动签到功能
2020/04/27 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
大二学年个人总结
2015/03/03 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers