利用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 相关文章推荐
js网页版计算器的简单实现
Jul 02 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
Oct 11 Javascript
原生javascript实现无间缝滚动示例
Jan 28 Javascript
javascript if条件判断方法小结
May 17 Javascript
js实现div弹出层的方法
Nov 20 Javascript
jQuery实现不断闪烁文字的方法
May 15 Javascript
JavaScript中的原型prototype属性使用详解
Jun 05 Javascript
JavaScrip常见的一些算法总结
Dec 28 Javascript
Angular ng-class详解及实例代码
Sep 19 Javascript
详解jQuery中ajax.load()方法
Jan 25 Javascript
Vue 事件处理操作实例详解
Mar 05 Javascript
vscode调试node.js的实现方法
Mar 22 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生成局部唯一识别码LUID的代码
2012/10/06 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
分析js闭包引起的事件注册问题
2016/03/29 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
如何使用angularJs
2017/05/08 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
2020/09/09 Javascript
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
python中的二维列表实例详解
2018/06/19 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
Python面向对象程序设计示例小结
2019/01/30 Python
简单了解python数组的基本操作
2019/11/26 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
给海归自荐信的建议
2013/12/13 职场文书
幼儿园保育员辞职信
2014/01/12 职场文书
《孙权劝学》教学反思
2014/04/23 职场文书
网络编辑求职信
2014/04/30 职场文书
迎七一演讲稿
2014/09/12 职场文书
职称评定个人总结
2015/03/05 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
借条如何写
2015/05/26 职场文书
婚礼父母致辞
2015/07/28 职场文书
物业公司管理制度
2015/08/05 职场文书
2019入党申请书格式
2019/06/25 职场文书
Python必备技巧之函数的使用详解
2022/04/04 Python