Javascript 如何在新数组()中同时初始化数组长度和值? 考虑一下,我必须用一些值初始化一个数组 所以我可以通过编写以下代码来实现这一点

Javascript 如何在新数组()中同时初始化数组长度和值? 考虑一下,我必须用一些值初始化一个数组 所以我可以通过编写以下代码来实现这一点,javascript,arrays,Javascript,Arrays,var arr=新数组(“a”、“b”、“c”、“d”) console.log(arr)您可以使用 console.log(新数组(5.fill)(2)); //[2,2,2,2,2,2]这两个问题的答案都是否定的。请看,数组函数有两个重载 JavaScript数组是用给定的元素初始化的,除非将单个参数传递给数组构造函数,并且该参数是一个数字(请参见下面的arrayLength参数) 如果传递给数组构造函数的唯一参数是介于0和232-1(包括0和232-1)之间的整数,则返回一个新的Java

var arr=新数组(“a”、“b”、“c”、“d”)
console.log(arr)
您可以使用

console.log(新数组(5.fill)(2));

//[2,2,2,2,2,2]
这两个问题的答案都是否定的。请看,
数组
函数有两个重载

JavaScript数组是用给定的元素初始化的,除非将单个参数传递给数组构造函数,并且该参数是一个数字(请参见下面的arrayLength参数)

如果传递给数组构造函数的唯一参数是介于0和232-1(包括0和232-1)之间的整数,则返回一个新的JavaScript数组,其长度属性设置为该数字


只有这两种可能性存在,没有重载来指定数组的大小和值。

您可以这样创建和填充数组:

设a=Array(100).fill(null)

console.log(a)
创建数组的方法很少:

1) 文字

const a=[1,2,3];
控制台日志(a)
是否可以使用new array()同时初始化具有数组长度和不同值(不相似值)的数组

不,你不能只靠一个

另一种方法是这样做:

var a=['a','b','c','d'];
a、 长度=10;

控制台日志(a)这里有一个不同但相关的方法,用于在不使用数组文本的情况下初始化数组

let arr=[…数组(10)].map((emptyItem,index)=>index);
// [0,1,2,3,4,5,6,7,8,9]

我找不到与此表达式的构造方式相匹配的文档,因此无法完全解释它。但它使用排列语法将10个空项排列成一个数组。

这只会初始化相同的值。也许我必须编辑我的问题。你从哪里获得你将填充数组的数据?你能提供一些例子并谈谈为什么数组文本不适用于你的用例吗?
array.from(新数组(5),(f,ix)=>String.fromCharCode(97+ix))
数组长度由你添加的值的数量给出。为什么要同时指定值的数量和值?这有什么意义?我不明白第一个问题<代码>新数组(“a”、“b”、“c”、“d”)
在您的第一个示例中,已经初始化了一个包含4个(数组长度)不同值的数组。你还需要什么?如果我想添加一些特定的字符串值呢?这还不清楚。如果要指定特定的字符串值,首先需要定义它!如果它来自给定的算法,那么您可能会看到数组生成器函数是否适合!否则,一个简单的for循环就足够了!你的目标是什么?资源管理器和edge仍然不支持可能的内存更少?
flatMap