js遍历多维数组拼接到HTML,js遍历多维数组

js遍历多维数组

//实现一个Array each方法,实现遍历多维数组

var arr = [1,2,3,[4,5,[6,7]]]; //arr.length

Array.prototype.each = function(fn){

try{

//1、目的 遍历数组的每一项

//计数器 记录当前遍历的元素位置

this.i ||(this.i = 0);

//2、判断什么时候使用each核心方法

//当数组的长度大于0的时候 && 传递的参数必须为函数

if(this.length>0 && fn.constructor == Function){

//循环遍历数组的每一项

while(this.i

//获取数组的每一个值

var e = this[this.i]; //数组的每一项

//如果当前元素获取到了并且当前元素是一个数组

if(e && e.constructor == Array){

//直接递归操作

e.each(fn);

}else{

//如果不是数组(那就是一个单个元素)

//把数组的当前元素传递给fn函数,并且让函数执行

fn.call(e,e);

}

this.i++

}

this.i == null; //释放内存,垃圾回收机制回收变量

}

}catch(err){

//do something

}

return this;

}

arr.each(function(item){

console.log(item);

})

标签:arr,遍历,js,数组,each,多维

来源: https://www.cnblogs.com/bodichan/p/12206228.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值