Posted on 2010-07-20 10:37
幻海蓝梦 阅读(4651)
评论(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);
-
})