for in和for of

for in是ES5标准,遍历key.

 for of是ES6标准,遍历 key value. 

 1.数组遍历 for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值 

 var arr1=[1,2,4,5];
	for(var v in arr1){
            console.log(v)  // 0 1 2 3
            //可通过arr1[v] 获取值
            console.log(arr1[v])//1 2 4 5
       };		
	for(var v for arr1){           
            console.log(v)//1 2 4 5
        };复制代码

 2.对象遍历 

 var obj = {name:1,age:20};
        for(var v in obj){
            console.log(v)   // name  age
            console.log(obj[v]) //1 20
        };
for of 不能直接遍历对象,但可以遍历MAp  Set对象
 // Map 可以接受一个数组作为参数
        var m = new Map([['name','a'],['age',10],['a',3]]);
        //keys()   value()  entries()
        var arr=[['name','a'],['age',10],['a',3]]
		var m = new Map(arr);

        for(let [k,v] of m){
            console.log(v)
        };
        for(let k of m.keys()){
            console.log(k)
        };
        for(let v of m.values()){
            console.log(v)
        };
     复制代码

 3. 字符串 

 var str = 'hello wenwen';
	        for(var v in str){
	            console.log(v); //索引 0-11
	            console.log(str[v])// hello wenwen
	        };   
                for(var v in str){
	            console.log(v); // hello wenwen
	        };                  

复制代码

for of 是最简洁、最直接的遍历数组元素的语法,也支持Map Set 对象遍历


转载于:https://juejin.im/post/5bfc0ae051882516f5788c71

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值