jquery遍歷數(shù)組與篩選數(shù)組的方法
更新時間:2013年11月05日 17:06:57 作者:
在jquery是遍歷篩選數(shù)組有多種方法與函數(shù)了,包括有:grep、each、inArray、map同時也要以遍歷json對象哦,下面給各位同學介紹一下具體的操作方法
grep
grep()方法用于數(shù)組元素過濾篩選
grep(array,callback,invert)
array:待過濾數(shù)組;
callback:處理數(shù)組中的每個元素,并過濾元素,該函數(shù)中包含兩個參數(shù),第一個是當前數(shù)組元素的值,一個是當前數(shù)組元素的下標,即元素索引值。此函數(shù)應返回一個布爾值。另外,此函數(shù)可設置為一個字符串,當設置為字符串時,將視為“l(fā)ambda-form”(縮寫形式?),其中 a 代表數(shù)組元素,i 代表元素索引值。如“a > 0”代表“function(a){ return a > 0; }”
invert:布爾型可選項,默認值false,值為true或false, 如果 “invert” 為 false 或為設置,則函數(shù)返回數(shù)組中由過濾函數(shù)返回 true 的元素,當”invert” 為 true,則返回過濾函數(shù)中返回 false 的元素集
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
function(){
var array = [1,2,3,4,5,6,7,8,9];
var filterarray = $.grep(array,function(value){
return value > 5;//篩選出大于5的
});
for(var i=0;i<filterarray.length;i++){
alert(filterarray[i]);
}
for (key in filterarray){
alert(filterarray[key]);
}
}
);
</script>
each
each的使用方法
在jQuery里有一個each方法,用起來非常的爽,不用再像原來那樣寫for循環(huán),jQuery源碼里自己也有很多用到each方法。
其實jQuery里的each方法是通過js里的call方法來實現(xiàn)的。
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
function(){
var anObject = {one:1,two:2,three:3};//對json數(shù)組each
$.each(anObject,function(name,value) {
alert(name);
alert(value);
});
var anArray = ['one','two','three'];
$.each(anArray,function(n,value){
alert(n);
alert(value);
}
);
}
);
</script>
inArray
jQuery.isArray(obj) 是 jQuery 1.3 新增。測試對象是否為數(shù)組。 返回值:Boolean
參數(shù) : objObject用于測試是否為數(shù)組的對象
示例 :檢測是否為數(shù)組
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
function(){
var anArray = ['one','two','three'];
var index = $.inArray('two',anArray);
alert(index);//返回該值在數(shù)組中的鍵值,返回1
alert(anArray[index]);//value is two
}
);
</script>
map
map() 把每個元素通過函數(shù)傳遞到當前匹配集合中,生成包含返回值的新的 jQuery 對象。
由于返回值是 jQuery 封裝的數(shù)組,使用 get() 來處理返回的對象以得到基礎的數(shù)組。
.map() 方法對于獲得或設置元素集的值特別有用。請思考下面這個帶有一系列復選框的表單
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
function(){
var strings = ['0','1','2','3','4','S','6'];
var values = $.map(strings,function(value){
var result = new Number(value);
return isNaN(result) ? null:result;//isNaN:is Not a Number的縮寫
}
);
for (key in values) {
alert(values[key]);
}
}
);
</script>
遍歷json對象:
<script>
var json = [{dd:'SB',AA:'東東',re1:123},{cccc:'dd',lk:'1qw'}];
for(var i=0,l=json.length;i<l;i++){
for(var key in json[i]){
alert(key+':'+json[i][key]);
}
}
</script>
遍歷json對象
有如下 json對象:
var obj ={”name”:”馮娟”,”password”:”123456″,”department”:”技術部”,”sex”:” 女”,”old”:30};
遍歷方法:
for(var p in obj){
str = str+obj[p]+',';
return str;
}
grep()方法用于數(shù)組元素過濾篩選
grep(array,callback,invert)
array:待過濾數(shù)組;
callback:處理數(shù)組中的每個元素,并過濾元素,該函數(shù)中包含兩個參數(shù),第一個是當前數(shù)組元素的值,一個是當前數(shù)組元素的下標,即元素索引值。此函數(shù)應返回一個布爾值。另外,此函數(shù)可設置為一個字符串,當設置為字符串時,將視為“l(fā)ambda-form”(縮寫形式?),其中 a 代表數(shù)組元素,i 代表元素索引值。如“a > 0”代表“function(a){ return a > 0; }”
invert:布爾型可選項,默認值false,值為true或false, 如果 “invert” 為 false 或為設置,則函數(shù)返回數(shù)組中由過濾函數(shù)返回 true 的元素,當”invert” 為 true,則返回過濾函數(shù)中返回 false 的元素集
復制代碼 代碼如下:
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
function(){
var array = [1,2,3,4,5,6,7,8,9];
var filterarray = $.grep(array,function(value){
return value > 5;//篩選出大于5的
});
for(var i=0;i<filterarray.length;i++){
alert(filterarray[i]);
}
for (key in filterarray){
alert(filterarray[key]);
}
}
);
</script>
each
each的使用方法
在jQuery里有一個each方法,用起來非常的爽,不用再像原來那樣寫for循環(huán),jQuery源碼里自己也有很多用到each方法。
其實jQuery里的each方法是通過js里的call方法來實現(xiàn)的。
復制代碼 代碼如下:
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
function(){
var anObject = {one:1,two:2,three:3};//對json數(shù)組each
$.each(anObject,function(name,value) {
alert(name);
alert(value);
});
var anArray = ['one','two','three'];
$.each(anArray,function(n,value){
alert(n);
alert(value);
}
);
}
);
</script>
inArray
jQuery.isArray(obj) 是 jQuery 1.3 新增。測試對象是否為數(shù)組。 返回值:Boolean
參數(shù) : objObject用于測試是否為數(shù)組的對象
示例 :檢測是否為數(shù)組
復制代碼 代碼如下:
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
function(){
var anArray = ['one','two','three'];
var index = $.inArray('two',anArray);
alert(index);//返回該值在數(shù)組中的鍵值,返回1
alert(anArray[index]);//value is two
}
);
</script>
map
map() 把每個元素通過函數(shù)傳遞到當前匹配集合中,生成包含返回值的新的 jQuery 對象。
由于返回值是 jQuery 封裝的數(shù)組,使用 get() 來處理返回的對象以得到基礎的數(shù)組。
.map() 方法對于獲得或設置元素集的值特別有用。請思考下面這個帶有一系列復選框的表單
復制代碼 代碼如下:
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
function(){
var strings = ['0','1','2','3','4','S','6'];
var values = $.map(strings,function(value){
var result = new Number(value);
return isNaN(result) ? null:result;//isNaN:is Not a Number的縮寫
}
);
for (key in values) {
alert(values[key]);
}
}
);
</script>
遍歷json對象:
復制代碼 代碼如下:
<script>
var json = [{dd:'SB',AA:'東東',re1:123},{cccc:'dd',lk:'1qw'}];
for(var i=0,l=json.length;i<l;i++){
for(var key in json[i]){
alert(key+':'+json[i][key]);
}
}
</script>
遍歷json對象
有如下 json對象:
復制代碼 代碼如下:
var obj ={”name”:”馮娟”,”password”:”123456″,”department”:”技術部”,”sex”:” 女”,”old”:30};
遍歷方法:
for(var p in obj){
str = str+obj[p]+',';
return str;
}
相關文章
jQuery實現(xiàn)的3D版圖片輪播示例【滑動輪播】
這篇文章主要介紹了jQuery實現(xiàn)的3D版圖片輪播,涉及jQuery針對頁面元素屬性動態(tài)操作相關實現(xiàn)技巧,需要的朋友可以參考下2019-01-01jQuery中delegate與on的用法與區(qū)別示例介紹
jQuery1.7中 .delegate()已被.on()取代,下面以示例的方式為大家介紹下jQuery中delegate與on的用法與區(qū)別,感興趣的朋友可以參考下2013-12-12jquery實現(xiàn)tab鍵進行選擇后enter鍵觸發(fā)click行為
本文主要介紹了jquery鍵盤事件實現(xiàn)tab鍵進行選擇后enter鍵觸發(fā)click行為的方法,這種使用場景為當首頁有幾個鏈接需要選擇的時候,使用鍵盤就可以進行觸發(fā)行為。下面跟著小編一起來看下吧2017-03-03