普通for循环、for...in...、for...of...、forEach一文精简梳理

1、普通for循环,在数组和object中都能使用。但是对象中使用,不太合理,因为也是循环下标。

2、for...in...在Array和Obeject中遍历下标和key。而且还能遍历Array和Object原型上的属性。

var obj = {

x:100,

y:200,

z:300

}

obj.__proto__.a=400;

obj.__proto__.b=500;

for(let k in obj){

console.log(obj[k]);

if(obj.hasOwnProperty(k)){

console.log(obj[k]);

}

}

3、for...of... 可以用以遍历array,object,set,map;可以遍历属性和值;在遍历array和object时不能遍历原型上的属性和值。

arr:

for(let index of arr.keys()){}

for(let v of arr.values()){}

for(let [i,v] of arr.entries()){}

 

obj:

object对象不能直接使用obj.keys()这些方法,需要使用object.keys(obj)作为中介;

for(let index of object.keys(obj)){}

for(let v of object.values(obj)){}

for(let [i,v] of object.entries(obj)){}

 

set:

set是键值一样的,它的用法跟array一样:

for(let index of set.keys()){}

for(let v of set.values()){}

for(let [i,v] of set.entries()){}

 

map:

map键值是自定义的,它的用法也跟array一样:

for(let index of map.keys()){}

for(let v of map.values()){}

for(let [i,v] of map.entries()){}

 

4、forEach 只能遍历array,set,map,不能遍历对象;forEach接收到的是一个回传参数函数;

array\set\map使用方式一样:

var arr = [1,3,5,7]

arr.forEach((v,k,arr)=>{

console.log(v,k,arr)

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值