<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" charset="UTF-8">
var arr = [1,2,3,[4,[5,[6]]]];
Array.prototype.each = function (fn) {
//计数器 记录当前遍历的位置
this.i || (this.i = 0);
//代码的严谨
try {
//如果不是空数组进入方法
if(this.length > 0 && this.constructor == Array && fn.constructor == Function) {
//遍历数组
while(this.i < this.length) {
//e接受数组的每一项
var e = this[this.i];
//判断数组中的每一项是否有数组,有的话递归操作
if(e.constructor == Array && e != null) {
//递归
e.each(fn);
}else{
//给回调函数执行
fn.call(e , e);
}
this.i++;
}
//释放内存
this.i = null;
}
}catch (ex){
alert("错误");
}
return this;
}
arr.each(function (item) {
alert(item);
});
</script>
</head>
<body>
</body>
</html>
JavaScript遍历多维数组
最新推荐文章于 2024-08-19 19:55:55 发布