Posted on 2010-07-20 10:37
幻海藍夢 閱讀(4661)
評論(0) 編輯 收藏 所屬分類:
JS
原文:http://www.02web.com/hublog/article.asp?id=344
數組在平時越用越多,可惜它自身沒有一個遍歷的方法
下面這樣是最簡單的一個簡歷方法,直接設置數組對象的
JavaScript代碼
-
Array.prototype.each?=?
function
(?callback ){??
-
for
(?
var
?i?=?0?,j?=?
this
.length?;?i?<?j?;?i++?){??
-
????callback.call( this,
this[i], i );??
-
????}?????
-
?}??
上面的可以這樣使用
JavaScript代碼
-
??
-
var
?testArray?=?[1,2,
'我'
,
'不'
,3,5];??
-
testArray.each( function(
value ){??
-
????typeof?value?==?'number'???alert( value *10 ):null;??
-
})??
改變一個數組的內容
JavaScript代碼
-
??
-
var
?testArray?=?[1,2,
'我'
,
'不'
,3,5];??
-
????testArray.each(
function( value, index ){??
-
????????this[index]?=?'chinese'?+?value;??
-
})??
-
??
-
testArray.each( function( v
){??
-
????alert(v);??
-
})??
如果是一個多維數組呢?不停地調each就行了,下面修改each方法
JavaScript代碼
-
??
-
isArray?=?function( arrayObj
){??
-
????return?arrayObj?&&??
-
???????typeof?arrayObj?===?'object'?&&??
-
???????typeof?arrayObj.length?===?'number'?&&??
-
???????typeof?arrayObj.splice?===?'function'???
-
????}??
-
??
-
Array.prototype.each?=?function(?callback){??
-
??for(?var?i?=?0?,j?=?this.length?;?i?<?j?;?i++){???
-
???isArray(
this
[i]
)?
this
[i].each( callback ):?
???????callback.call( this, this[i], i );??
-
???}??????
-
}??
下面可以試驗一下
JavaScript代碼
-
var
?testArray?=?[1,2,[
'sdf'
,
'2sdf'
],[12313,[[34,45]]]];??
-
testArray.each(function(v){??
-
????alert(v);???
-
})??