将数字(即 5)转换为数组的长度

Convert a number (i. e. 5) to length of an array

我想在聚合物自定义元素上创建一个 属性 让用户定义要重复的元素数量。

<my-element repeated-elements='5'></my-element>

这应该告诉我的元素将组件内部的元素重复五次。为此,我需要一个长度为 5 的数组,所以像这样的任何东西都可以:

['','','','','']

JavaScript有没有办法做到这一点?该数字将作为数字而不是字符串传递。所以我需要以某种方式将任何数字转换为数组中数组项的数量。打个比方:

convertToArrayLength(5);

我完全迷失在这里,我完全不知道如何做到这一点。

array constructor 正是这样做的:

var arr = Array(5);

console.log(arr, arr.length);
//=> Array [ <5 empty slots> ] 5

您不需要在调用 Array 之前放置 new(这只是 API 的一个特点)。

请注意,尽管 JavaScript 中的数组是动态的,所以大多数时候您不需要事先指定数组的长度,只需使用以下命令初始化您的变量:

var arr = [];
// And then push to it as you go:
arr.push(x);

JavaScript 将在您推送时自动调整数组大小。

var array = new Array(5); // undefined
array.length; // 5
array.push("FOO"); // 6
array.length; // 6

您所要做的就是确保将变量分配为具有 []new Array

的数组