首页 > 解决方案 > 在 JavaScript 中寻找 const 函数的解释

问题描述

我想知道这是如何工作的,以及每个部分的含义。

const factors = number => [...Array(number + 1).keys()].filter(i=>number % i === 0);

我已经对一些位进行了一些研究,但我并不真正了解它们是如何作为一个整体结合在一起的。提前致谢 :)

标签: javascript

解决方案


让我们分解一下:

  • Array(number + 1)number + 1: 创建一个包含空元素的数组
  • Array(number + 1).keys(): 以迭代器的形式检索数组的索引

  • [...Array(number + 1).keys()]:从迭代器创建一个数组(包含元素0, 1, 2, ..., (number - 1), number

  • .filter(cb):为数组中的每个值调用函数cb,并返回一个新数组,其中包含回调(cb)返回的值true(使用隐式布尔转换)
  • i => number % i === 0:为数组的每个值调用,当前元素存储到i
  • number % i:除以numberi返回余数
  • number % i === 0: 检查余数是否为零(即是否number完全可被 整除i
  • .filter(i => number % i === 0):过滤数组,保留作为除数的元素number

所以,

number => [...Array(number + 1).keys()].filter(i => number % i === 0);

创建一个函数,该函数返回一个包含给定除数的数组number


推荐阅读