grep
grep()方法用於數組元素過濾篩選
grep(array,callback,invert)
array:待過濾數組;
callback:處理數組中的每個元素,並過濾元素,該函數中包含兩個參數,第一個是當前數組元素的值,一個是當前數組元素的下標,即元素索引值。此函數應返回一個布爾值。另外,此函數可設置為一個字符串,當設置為字符串時,將視為“lambda-form”(縮寫形式?),其中 a 代表數組元素,i 代表元素索引值。如“a > 0”代表“function(a){ return a > 0; }”
invert:布爾型可選項,默認值false,值為true或false, 如果 “invert” 為 false 或為設置,則函數返回數組中由過濾函數返回 true 的元素,當”invert” 為 true,則返回過濾函數中返回 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循環,jQuery源碼裡自己也有很多用到each方法。
其實jQuery裡的each方法是通過js裡的call方法來實現的。
. 代碼如下:
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
function(){
var anObject = {one:1,two:2,three:3};//對json數組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 新增。測試對象是否為數組。 返回值:Boolean
參數 : objObject用於測試是否為數組的對象
示例 :檢測是否為數組
. 代碼如下:
<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);//返回該值在數組中的鍵值,返回1
alert(anArray[index]);//value is two
}
);
</script>
map
map() 把每個元素通過函數傳遞到當前匹配集合中,生成包含返回值的新的 jQuery 對象。
由於返回值是 jQuery 封裝的數組,使用 get() 來處理返回的對象以得到基礎的數組。
.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;
}