箭头函数省略了return关键字。for..in 和for...of的区别

使用箭头函数更加简洁了函数

setTimeOut(function()){},1000)

====>         setTimeOut(()=>{},1000)

 

省略了return关键字

let arr=[1,3,5]

arr.filter(item=>item===3)     [3]

 

下面看一个箭头函数去掉数组里的undefined返回新的数组:

const compact = arr => arr.filter(res=>res!=undefined)
compact([0, 1, false, 2, '', 3, 'a', undefined, 's', 34])

 

const compact=arr=>arr.filter(res=>res!=undefined)其实是下面的:

function  compact(arr){

 arr.filter(res=>{

    if(res!=undefined){return res}

})

}

 

for ... of是作为ES6新增的遍历方式,允许遍历一个含有iterator接口的数据结构并且返回各项的值,和ES3中的for ... in的区别如下

for ... of遍历获取的是对象的键值,值,for ... in 获取的是对象的键名,下标

for ... in会遍历对象的整个原型链,性能非常差不推荐使用,而for ... of只遍历当前对象不会遍历原型链


 

let arr=['1','3','9'];

for(x of arr){console.log(x)}     1,3,9   返回的是键对应的值

for(x in  arr){console.log(x)}     0,1,2    返回的是下标,也就是键。

 

 

 

let arr=[{a:1},{a:2},{a:3}];

for(x of arr){console.log(x)}     {a: 1}, {a: 2}, {a: 3}   返回的是键对应的值。等同于for (x in arrs){console.log(arrs[x])}

for(x in  arr){console.log(x)}     0,1,2    返回的是下标,也就是键。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值