利用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字典探测用户名工具
Oct 05 Javascript
解决jquery异步按一定的时间间隔刷新问题
Dec 10 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
Jun 28 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
Apr 23 Javascript
JavaScript数据类型之基本类型和引用类型的值
Apr 01 Javascript
vue插件vue-resource的使用笔记(小结)
Aug 04 Javascript
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
浅谈Webpack自动化构建实践指南
Dec 18 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
Jan 04 Javascript
JS Generator 函数的含义与用法实例总结
Apr 08 Javascript
Vue SSR 即时编译技术的实现
May 06 Javascript
vue3.0实现点击切换验证码(组件)及校验
Nov 18 Vue.js
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输入输出流学习笔记
2015/05/12 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
jQuery 1.0.2
2006/10/11 Javascript
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
jQuery检测输入的字符串包含的中英文的数量
2015/04/17 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
jQuery循环遍历子节点并获取值的方法
2016/04/14 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
2016/07/06 Javascript
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
React Native中Mobx的使用方法详解
2018/12/04 Javascript
小程序实现录音上传功能
2019/11/22 Javascript
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
win7安装python生成随机数代码分享
2013/12/27 Python
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
在Python的Flask中使用WTForms表单框架的基础教程
2016/06/07 Python
flask入门之文件上传与邮件发送示例
2018/07/18 Python
Django logging配置及使用详解
2019/07/23 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
Html5定位终极解决方案
2020/02/05 HTML / CSS
水务局局长岗位职责
2013/11/28 职场文书
上班上网检讨书
2014/01/29 职场文书
大学教师师德师风演讲稿
2014/08/22 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
个人简历自我评价怎么写
2015/03/10 职场文书
一般纳税人申请报告
2015/05/18 职场文书
Windows server 2003卸载和安装IIS的图文教程
2022/07/15 Servers