zl程序教程

您现在的位置是:首页 >  前端

当前栏目

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

jQuery对象数组代码 实现 操作 利用
2023-06-13 09:14:28 时间
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)
删除数组中重复元素。
下面的实例通过对象数组的过滤来实现获取或者删除指定属性为指定值的数组元素。
复制代码代码如下:

<scriptsrc="js/jquery.js"></script>
<script>
/**
*从对象数组中删除属性为objPropery,值为objValue元素的对象
*@paramArrayarrPerson数组对象
*@paramStringobjPropery对象的属性
*@paramStringobjPropery对象的值
*@returnArray过滤后数组
*/
functionremove(arrPerson,objPropery,objValue)
{
return$.grep(arrPerson,function(cur,i){
returncur[objPropery]!=objValue;
});
}
/**
*从对象数组中获取属性为objPropery,值为objValue元素的对象
*@paramArrayarrPerson数组对象
*@paramStringobjPropery对象的属性
*@paramStringobjPropery对象的值
*@returnArray过滤后的数组
*/
functionget(arrPerson,objPropery,objValue)
{
return$.grep(arrPerson,function(cur,i){
returncur[objPropery]==objValue;
});
}
/**
*显示对象数组信息
*@paramStringinfo提示信息
*@paramArrayarrPerson对象数组
*/
functionshowPersonInfo(info,arrPerson)
{
$.each(arrPerson,function(index,callback){
info+="Personid:"+arrPerson[index].id+"name:"+arrPerson[index].name+"sex:"+arrPerson[index].sex+"age:"+arrPerson[index].age+"\r\t";
});
alert(info);
}
//测试数据
vararrPerson=newArray();
varperson=newObject();
person.id=1;
person.name="帅哥";
person.sex="男";
person.age=30;
arrPerson.push(person);
person=newObject();
person.id=2;
person.name="美眉甲";
person.sex="女";
person.age=28;
arrPerson.push(person);
person=newObject();
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>