在JavaScript中,使用Array.from(collection)
从集合创建数组,但是使用Set
从集合创建new Set(collection)
。这种不对称是否有原因?
答案 0 :(得分:1)
可以通过两种方式调用Array
构造函数:
new Array(n)
其中n
是一个整数。这将创建一个包含n
未定义元素的数组。
new Array(e1, e2, e3, ...)
这会创建一个数组,其元素为e1
,e2
,e3
等,类似于编写
[e1, e2, e3, ...]
当您使用一个参数调用构造函数时,如果它不是整数,则将其视为第二种格式的情况。这将创建一个包含一个元素的数组,其值为参数。
因此,如果你执行new Array(collection)
,它会创建一个数组,其第一个元素是集合。更改此选项以传播集合将是一个不兼容的更改,可能会破坏某些程序。所以他们定义了一种新方法来实现这一目标。