利用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 相关文章推荐
Google 静态地图API实现代码
Nov 19 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
Aug 01 Javascript
JS返回iframe中frameBorder属性值的方法
Apr 01 Javascript
基于jQuery实现咖啡订单管理简单应用
Feb 10 Javascript
微信小程序支付之c#后台实现方法
Oct 19 Javascript
JavaScript获取用户所在城市及地理位置
Apr 21 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
Oct 12 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
Nov 06 Javascript
CryptoJS中AES实现前后端通用加解密技术
Dec 18 Javascript
JavaScript学习笔记之DOM基础操作实例小结
Jan 09 Javascript
express启用https使用小记
May 21 Javascript
微信小程序批量上传图片到七牛(推荐)
Dec 19 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
基于PHP+MySQL的聊天室设计
2006/10/09 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
js验证表单第二部分
2006/11/25 Javascript
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
javascript获取网页宽高方法汇总
2015/07/19 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
JQuery datepicker 用法详解
2015/12/25 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
Python如何快速实现分布式任务
2017/07/06 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
python单例模式原理与创建方法实例分析
2019/10/26 Python
Django中modelform组件实例用法总结
2020/02/10 Python
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
Swanson中国官网:美国斯旺森健康产品公司
2021/03/01 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
美术专业学生个人自我评价
2013/09/19 职场文书
证婚人搞笑证婚词
2014/01/10 职场文书
销售主管岗位职责
2014/02/08 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
周年庆典答谢词
2015/01/20 职场文书
个人政治思想总结
2015/03/05 职场文书
关于幸福的感言
2015/08/03 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL