利用jQuery操作對象數(shù)組的實現(xiàn)代碼
更新時間:2011年04月27日 22:34:23 作者:
利用jQuery操作對象數(shù)組的實現(xiàn)代碼,需要的朋友可以參考下。
jQuery對于數(shù)組元素操作主要提供了以下工具:
(1)數(shù)組和對象的例遍:jQuery.each(obj,callback)
通用例遍方法,可用于例遍對象和數(shù)組?;卣{(diào)函數(shù)擁有兩個參數(shù):第一個為對象的成員或數(shù)組的索引,第二個為對應(yīng)變量或內(nèi)容。如果需要退出 each 循環(huán)可使回調(diào)函數(shù)返回 false,其它返回值將被忽略。
(2)數(shù)組元素的過濾:jQuery.grep(array,callback,[invert])
使用過濾函數(shù)過濾數(shù)組元素。此函數(shù)至少傳遞兩個參數(shù):待過濾數(shù)組和過濾函數(shù)。過濾函數(shù)必須返回 true 以保留元素或 false 以刪除元素。
(3)數(shù)組元素的查找:jQuery.inArray(value,array)
確定第一個參數(shù)在數(shù)組中的位置(如果沒有找到則返回 -1 )。
(4)刪除重復(fù)元素:jQuery.unique(array)
刪除數(shù)組中重復(fù)元素。
下面的實例通過對象數(shù)組的過濾來實現(xiàn)獲取或者刪除指定屬性為指定值的數(shù)組元素。
<script src="js/jquery.js" ></script>
<script>
/**
* 從對象數(shù)組中刪除屬性為objPropery,值為objValue元素的對象
* @param Array arrPerson 數(shù)組對象
* @param String objPropery 對象的屬性
* @param String objPropery 對象的值
* @return Array 過濾后數(shù)組
*/
function remove(arrPerson,objPropery,objValue)
{
return $.grep(arrPerson, function(cur,i){
return cur[objPropery]!=objValue;
});
}
/**
* 從對象數(shù)組中獲取屬性為objPropery,值為objValue元素的對象
* @param Array arrPerson 數(shù)組對象
* @param String objPropery 對象的屬性
* @param String objPropery 對象的值
* @return Array 過濾后的數(shù)組
*/
function get(arrPerson,objPropery,objValue)
{
return $.grep(arrPerson, function(cur,i){
return cur[objPropery]==objValue;
});
}
/**
* 顯示對象數(shù)組信息
* @param String info 提示信息
* @param Array arrPerson 對象數(shù)組
*/
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);
}
//測試數(shù)據(jù)
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("原始數(shù)組:\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)數(shù)組和對象的例遍:jQuery.each(obj,callback)
通用例遍方法,可用于例遍對象和數(shù)組?;卣{(diào)函數(shù)擁有兩個參數(shù):第一個為對象的成員或數(shù)組的索引,第二個為對應(yīng)變量或內(nèi)容。如果需要退出 each 循環(huán)可使回調(diào)函數(shù)返回 false,其它返回值將被忽略。
(2)數(shù)組元素的過濾:jQuery.grep(array,callback,[invert])
使用過濾函數(shù)過濾數(shù)組元素。此函數(shù)至少傳遞兩個參數(shù):待過濾數(shù)組和過濾函數(shù)。過濾函數(shù)必須返回 true 以保留元素或 false 以刪除元素。
(3)數(shù)組元素的查找:jQuery.inArray(value,array)
確定第一個參數(shù)在數(shù)組中的位置(如果沒有找到則返回 -1 )。
(4)刪除重復(fù)元素:jQuery.unique(array)
刪除數(shù)組中重復(fù)元素。
下面的實例通過對象數(shù)組的過濾來實現(xiàn)獲取或者刪除指定屬性為指定值的數(shù)組元素。
復(fù)制代碼 代碼如下:
<script src="js/jquery.js" ></script>
<script>
/**
* 從對象數(shù)組中刪除屬性為objPropery,值為objValue元素的對象
* @param Array arrPerson 數(shù)組對象
* @param String objPropery 對象的屬性
* @param String objPropery 對象的值
* @return Array 過濾后數(shù)組
*/
function remove(arrPerson,objPropery,objValue)
{
return $.grep(arrPerson, function(cur,i){
return cur[objPropery]!=objValue;
});
}
/**
* 從對象數(shù)組中獲取屬性為objPropery,值為objValue元素的對象
* @param Array arrPerson 數(shù)組對象
* @param String objPropery 對象的屬性
* @param String objPropery 對象的值
* @return Array 過濾后的數(shù)組
*/
function get(arrPerson,objPropery,objValue)
{
return $.grep(arrPerson, function(cur,i){
return cur[objPropery]==objValue;
});
}
/**
* 顯示對象數(shù)組信息
* @param String info 提示信息
* @param Array arrPerson 對象數(shù)組
*/
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);
}
//測試數(shù)據(jù)
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("原始數(shù)組:\r\t",arrPerson);
arrPerson=remove(arrPerson,"id",1);
showPersonInfo("刪除之后:\r\t",arrPerson);
//測試獲取
arrPerson=get(arrPerson,"id",3);
showPersonInfo("只獲取ID為3的元素:\r\t",arrPerson);
</script>
相關(guān)文章
基于jQuery實現(xiàn)響應(yīng)式圓形圖片輪播特效
這篇文章主要介紹了基于jQuery實現(xiàn)響應(yīng)式圓形圖片輪播特效,mislider插件可以將圖片以圓形圖片顯示,然后使圖片無限循環(huán)形成輪播圖或旋轉(zhuǎn)木馬特效,感興趣的小伙伴們可以參考一下2015-11-11
jquery 獲取select數(shù)組與name數(shù)組長度的實現(xiàn)代碼
下面小編就為大家?guī)硪黄猨query 獲取select數(shù)組與name數(shù)組長度的實現(xiàn)代碼。小編覺得挺不錯的, 現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
jQuery實現(xiàn)下拉菜單動態(tài)添加數(shù)據(jù)點擊滑出收起其他功能
這篇文章主要介紹了jQuery實現(xiàn)下拉菜單動態(tài)添加數(shù)據(jù)點擊滑出收起其他功能,本文給大家介紹的非常詳細,需要的朋友可以參考下2018-06-06
jquery插件之信息彈出框showInfoDialog(成功/錯誤/警告/通知/背景遮罩)
某某同學(xué)最近寫了個基于jquery的信息彈出插件showInfoDialog,該插件對背景進行遮罩,然后彈出信息顯示框,信息顯示種類包括(操作成功/錯誤信息/警告信息/通知信息)感興趣的朋友可以了解下2013-01-01
jquery實現(xiàn)走馬燈特效實例(撲克牌切換效果)
本文主要介紹了jquery實現(xiàn)走馬燈特效實例(撲克牌切換效果),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02

