怎么理解这段代码?

[...Array(7).keys()].map(days=>newDate(Date.now()+86400000*days));
已经尝试过:https://www.cnblogs.com/1024h...还是没解决的问题:自己太菜了,没有理解到这段代码的意思,1Date.now()+86400000*days这个的意思是什么?days不是还没赋值吗?
2days=>newDate(Date.now()+86400000*days)上个问题中,days还没赋值,为什么能够赋值给这个问题中的days(左边的days)?
偶然的你
浏览 518回答 2
2回答

哈士奇WWW

源代码:[...Array(7).keys()].map(days=>newDate(Date.now()+86400000*days));拆一遍就什么都明白了。Array(7)//创建一个长度7的数组Array(7).keys()//返回这个数组所有索引键,即0,1,2,3,4,5,6//但并不是一个包含所有键的数组,而是一个ArrayIterator对象[...Array(7).keys()]//所以这里将其转换成只有键的数组[0,1,2,3,4,5,6]//使用的是展开语法(Spreadsyntax).map()//map方法,依次处理数组元素.map(days=>newDate(Date.now()+86400000*days))//箭头函数,或者叫Lambda表达式//相当于,这么一看你知道days是怎么来的了吧.map(function(days){returnnewDate(Date.now()+86400000*days})说白了,就是将newDate(Date.now()+86400000*x)循环七次并写入同一个数组,x从0到6递增。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript