利用jQuery操作对象数组的实现代码


Posted in Javascript onApril 27, 2011

jQuery对于数组元素操作主要提供了以下工具:
(1)数组和对象的例遍:jQuery.each(obj,callback)
通用例遍方法,可用于例遍对象和数组。回调函数拥有两个参数:第一个为对象的成员或数组的索引,第二个为对应变量或内容。如果需要退出 each 循环可使回调函数返回 false,其它返回值将被忽略。
(2)数组元素的过滤:jQuery.grep(array,callback,[invert])
使用过滤函数过滤数组元素。此函数至少传递两个参数:待过滤数组和过滤函数。过滤函数必须返回 true 以保留元素或 false 以删除元素。
(3)数组元素的查找:jQuery.inArray(value,array)
确定第一个参数在数组中的位置(如果没有找到则返回 -1 )。
(4)删除重复元素:jQuery.unique(array)
删除数组中重复元素。
下面的实例通过对象数组的过滤来实现获取或者删除指定属性为指定值的数组元素。

<script src="js/jquery.js" ></script> 
<script> 
/** 
* 从对象数组中删除属性为objPropery,值为objValue元素的对象 
* @param Array arrPerson 数组对象 
* @param String objPropery 对象的属性 
* @param String objPropery 对象的值 
* @return Array 过滤后数组 
*/ 
function remove(arrPerson,objPropery,objValue) 
{ 
return $.grep(arrPerson, function(cur,i){ 
return cur[objPropery]!=objValue; 
}); 
} 
/** 
* 从对象数组中获取属性为objPropery,值为objValue元素的对象 
* @param Array arrPerson 数组对象 
* @param String objPropery 对象的属性 
* @param String objPropery 对象的值 
* @return Array 过滤后的数组 
*/ 
function get(arrPerson,objPropery,objValue) 
{ 
return $.grep(arrPerson, function(cur,i){ 
return cur[objPropery]==objValue; 
}); 
} 
/** 
* 显示对象数组信息 
* @param String info 提示信息 
* @param Array arrPerson 对象数组 
*/ 
function showPersonInfo(info,arrPerson) 
{ 
$.each(arrPerson, function(index,callback){ 
info+="Person id:" + arrPerson[index].id + " name:" + arrPerson[index].name+ " sex:"+ arrPerson[index].sex+" age:"+ arrPerson[index].age+"\r\t"; 
}); 
alert(info); 
} 
//测试数据 
var arrPerson=new Array(); 
var person=new Object(); 
person.id=1; 
person.name="帅哥"; 
person.sex="男"; 
person.age=30; 
arrPerson.push(person); 
person=new Object(); 
person.id=2; 
person.name="美眉甲"; 
person.sex="女"; 
person.age=28; 
arrPerson.push(person); 
person=new Object(); 
person.id=3; 
person.name="美眉乙"; 
person.sex="女"; 
person.age=20; 
arrPerson.push(person); 
//测试删除 
showPersonInfo("原始数组:\r\t",arrPerson); 
arrPerson=remove(arrPerson,"id",1); 
showPersonInfo("删除之后:\r\t",arrPerson); 
//测试获取 
arrPerson=get(arrPerson,"id",3); 
showPersonInfo("只获取ID为3的元素:\r\t",arrPerson); 
</script>
Javascript 相关文章推荐
javascript之对系统的toFixed()方法的修正
May 08 Javascript
js 调用父窗口的具体实现代码
Jul 15 Javascript
javascript表单验证和Window详解
Dec 11 Javascript
jQuery制作效果超棒的手风琴折叠菜单
Apr 03 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
Feb 16 Javascript
js简单正则验证汉字英文及下划线的方法
Nov 28 Javascript
Node.js数据库操作之查询MySQL数据库(二)
Mar 04 Javascript
JavaScript评论点赞功能的实现方法
Mar 13 Javascript
layui自定义ajax左侧三级菜单
Jul 26 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
Oct 31 Javascript
vue中使用极验验证码的方法(附demo)
Dec 04 Javascript
js实现点击生成随机div
Jan 16 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
Apr 27 #Javascript
jquery调用asp.net 页面后台的实现代码
Apr 27 #Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
Apr 27 #Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
Apr 27 #Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
Apr 27 #Javascript
javascript中的继承实例代码
Apr 27 #Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
Apr 27 #Javascript
You might like
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
php实现断点续传大文件示例代码
2020/06/19 PHP
最新28个很棒的jQuery 教程
2011/05/28 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
2013/05/27 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
python实现定时播放mp3
2015/03/29 Python
django model去掉unique_together报错的解决方案
2016/10/18 Python
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
python二进制文件的转译详解
2019/07/03 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
python路径的写法及目录的获取方式
2019/12/26 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
北美大型运动类产品商城:Champs Sports
2017/01/12 全球购物
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
ASP.NET中的身份验证有那些
2012/07/13 面试题
物流专业毕业生推荐信范文
2013/11/18 职场文书
幼儿教师工作感言
2014/02/14 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
党员检讨书范文
2014/12/27 职场文书
车间主任岗位职责
2015/02/03 职场文书
倡议书格式及范文
2015/04/29 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
Python类方法总结讲解
2021/07/26 Python
Nginx内网单机反向代理的实现
2021/11/07 Servers
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB