利用jQuery操作對象數組的實現代碼
更新時間:2011年04月27日 22:34:23 作者:
利用jQuery操作對象數組的實現代碼,需要的朋友可以參考下。
jQuery對于數組元素操作主要提供了以下工具:
(1)數組和對象的例遍:jQuery.each(obj,callback)
通用例遍方法,可用于例遍對象和數組?;卣{函數擁有兩個參數:第一個為對象的成員或數組的索引,第二個為對應變量或內容。如果需要退出 each 循環(huán)可使回調函數返回 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>
(1)數組和對象的例遍:jQuery.each(obj,callback)
通用例遍方法,可用于例遍對象和數組?;卣{函數擁有兩個參數:第一個為對象的成員或數組的索引,第二個為對應變量或內容。如果需要退出 each 循環(huán)可使回調函數返回 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>
相關文章
jquery 獲取select數組與name數組長度的實現代碼
下面小編就為大家?guī)硪黄猨query 獲取select數組與name數組長度的實現代碼。小編覺得挺不錯的, 現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
jQuery實現下拉菜單動態(tài)添加數據點擊滑出收起其他功能
這篇文章主要介紹了jQuery實現下拉菜單動態(tài)添加數據點擊滑出收起其他功能,本文給大家介紹的非常詳細,需要的朋友可以參考下2018-06-06
jquery插件之信息彈出框showInfoDialog(成功/錯誤/警告/通知/背景遮罩)
某某同學最近寫了個基于jquery的信息彈出插件showInfoDialog,該插件對背景進行遮罩,然后彈出信息顯示框,信息顯示種類包括(操作成功/錯誤信息/警告信息/通知信息)感興趣的朋友可以了解下2013-01-01

