利用jQuery操作對象數(shù)組的實(shí)現(xiàn)代碼
(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í)例通過對象數(shù)組的過濾來實(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>
相關(guān)文章
jQuery實(shí)現(xiàn)選中彈出窗口選擇框內(nèi)容后賦值給文本框的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)選中彈出窗口選擇框內(nèi)容后賦值給文本框的方法,涉及jQuery響應(yīng)鼠標(biāo)事件動態(tài)操作頁面元素屬性的相關(guān)技巧,需要的朋友可以參考下2015-11-11jQuery實(shí)現(xiàn)帶動畫效果的多級下拉菜單代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)帶動畫效果的多級下拉菜單代碼,可實(shí)現(xiàn)點(diǎn)擊漸隱漸顯效果,涉及jQuery頁面元素的遍歷及鏈?zhǔn)讲僮飨嚓P(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09jQuery設(shè)置單選按鈕radio選中/不可用的實(shí)例代碼
這篇文章主要介紹了jQuery設(shè)置單選按鈕radio選中/不可用的實(shí)例代碼的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-06-06jquery原創(chuàng)彈出層折疊效果點(diǎn)擊折疊彈出一個層
今天整理最近項(xiàng)目里用到的一個小效果,點(diǎn)擊折疊彈出一個層給用戶填寫信息,感興趣的朋友可以學(xué)習(xí)下2014-03-03jQuery html表格排序插件tablesorter使用方法詳解
這篇文章主要為大家詳細(xì)介紹了jQuery html表格排序插件tablesorter的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02jQuery插件ContextMenu自定義圖標(biāo)
這篇文章主要為大家詳細(xì)介紹了jQuery插件ContextMenu自定義圖標(biāo)的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03jQuery學(xué)習(xí)總結(jié)之元素的相對定位和選擇器(持續(xù)更新)
jQuery中不僅可以使用選擇器就行絕對定位,而且還可以進(jìn)行相對定位,只要在$()中指定第二個參數(shù),第二個參數(shù)就是相對的元素。第二個參數(shù)傳遞一個jQuery對象,則相對于這個對象為基準(zhǔn)進(jìn)行相對的選擇。2011-04-04EasyUI的DataGrid每行數(shù)據(jù)添加操作按鈕的實(shí)現(xiàn)代碼
今天做項(xiàng)目的時候,想在easyui的datagrid每一列數(shù)據(jù)后邊都加上一個操作按鈕,怎么實(shí)現(xiàn)此功能呢?下面小編給大家?guī)砹薊asyUI的DataGrid每行數(shù)據(jù)添加操作按鈕的實(shí)現(xiàn)代碼,需要的朋友參考下吧2017-08-08jQuery 循環(huán)遍歷改變a標(biāo)簽的href(實(shí)例講解)
下面小編就為大家?guī)硪黄猨Query 循環(huán)遍歷改變a標(biāo)簽的href(實(shí)例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07