正在寻找JavaScript中const函数的解释
我想知道这是如何工作的,以及每个部分的含义正在寻找JavaScript中const函数的解释,javascript,Javascript,我想知道这是如何工作的,以及每个部分的含义 const factors=number=>[…数组(number+1).keys()].filter(i=>number%i==0); 我对其中的一些部分做了一些研究,但我并不真正理解它作为一个整体是如何进行的。提前感谢:)让我们把它分解一下 数组(数字+1) 这是创建长度为number+1 .keys() 用于获取[0,number]数组键的迭代器 仅供参考,这不是阵列 […数组(数字+1).keys()] 在迭代器上使用将其转换为数组,因此现在
const factors=number=>[…数组(number+1).keys()].filter(i=>number%i==0);
我对其中的一些部分做了一些研究,但我并不真正理解它作为一个整体是如何进行的。提前感谢:)让我们把它分解一下
数组(数字+1)
这是创建长度为number+1
.keys()
用于获取[0,number]数组键的迭代器
仅供参考,这不是阵列[…数组(数字+1).keys()]
在迭代器上使用将其转换为数组,因此现在我们有了如下内容
[0,1,2,…,数字]
.filter(i=>number%i==0)
用于将上面的范围数组缩小为一个数组,其中的值平均分为number
功能因子(数量){
常数因子=[]
对于(假设i=0;i让我们将其分解:
Array(number+1)
:使用number+1
空元素创建数组
Array(number+1).keys()
:以迭代器的形式检索数组的索引
[…数组(number+1).keys()]
:从迭代器创建数组(包含元素0,1,2,…(number-1),number
)
.filter(cb)
:为数组中的每个值调用函数cb
,并返回一个新数组,其中包含回调(cb
)已返回的值true
(使用隐式布尔转换)
i=>number%i==0
:为数组的每个值调用,当前元素存储到i
number%i
:将number
与i
相除,并返回余数
number%i===0
:检查余数是否等于零(即如果number
完全可被i
整除)
.filter(i=>number%i==0)
:过滤数组,保留作为number
所以
创建一个函数,返回一个数组,其中包含给定数字的除数
是否有您不理解的特定部分?@TorNato基本上您将返回数字的因子(从0开始)。
number => [...Array(number + 1).keys()].filter(i => number % i === 0);