利用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 相关文章推荐
jquery提示效果实例分析
Nov 25 Javascript
常见JS验证脚本汇总
Dec 01 Javascript
JavaScript实现给定时间相加天数的方法
Jan 25 Javascript
原生JS实现旋转木马式图片轮播插件
Apr 25 Javascript
Node.js 实现简单小说爬虫实例
Nov 18 Javascript
TypeScript学习之强制类型的转换
Dec 27 Javascript
基于jquery二维码生成插件qrcode
Jan 07 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
May 20 Javascript
vue2.0全局组件之pdf详解
Jun 26 Javascript
React router动态加载组件之适配器模式的应用详解
Sep 12 Javascript
javascript匿名函数中的'return function()'作用
Oct 15 Javascript
node脚手架搭建服务器实现token验证的方法
Jan 20 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学习 变量使用总结
2011/03/24 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
PHP7 新增常量
2021/03/09 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
提高jQuery性能优化的技巧
2015/08/03 Javascript
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
基于vue2实现上拉加载功能
2017/11/28 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
vue动态配置模板 'component is'代码
2019/07/04 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
python实现小程序推送页面收录脚本
2020/04/20 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
经济管理专业自荐信
2013/12/30 职场文书
酒店前厅员工辞职信
2014/01/08 职场文书
学术会议欢迎词
2014/01/09 职场文书
经销商培训邀请函
2014/01/21 职场文书
计算机大学生职业生涯规划书范文
2014/02/19 职场文书
户外活动策划方案
2014/03/12 职场文书
司机个人年终总结
2015/03/03 职场文书
2015年乡镇纪委工作总结
2015/05/26 职场文书
利用python做表格数据处理
2021/04/13 Python
Python学习之os包使用教程详解
2022/03/21 Python
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android