我正在尝试动态构建一个空元素数组。这是我到目前为止所尝试的。
aData.length=5;
var noOFSeries = [];
for (var i = 1; i <= aData.length - 1; i++) {
noOFSeries.push([]);
}
我想要这种输出[], [], [], []
,以便我可以放入jqplot。
$.jqplot('barchartReqCat', [chartData, [], [], [], []], options);
替换为
$.jqplot('barchartReqCat', [chartData, noOFSeries], options);
感谢您的帮助。
答案 0 :(得分:2)
您可以像这样使用Array.prototype.fill
:
let noOfSeries = Array(5).fill([]);
答案 1 :(得分:2)
你有一些方法:
arr1
填充.map();
arr2
填充.fill();和arr3
与loop。
var arr1 = [1, 2, 3, 4].map(function(value) {
return [];
});
console.log(arr1);
var arr2 = new Array(4).fill([]);
console.log(arr2);
var arr3 = [];
var length = 5;
for(var i = 0; i < 4; i++) arr3.push([]);
console.log(arr3);
答案 2 :(得分:1)
您可以使用spread operator,或者,如果您想要向后兼容,可以使用新数组(在我的示例中为myArr
):
var aData = {
length: 5
},
noOFSeries = [],
chartData = [1, 2, 3, 4, 5]
for (var i = 1; i <= aData.length - 1; i++) {
noOFSeries.push([]);
}
$.jqplot('barchartReqCat', [chartData, ...noOFSeries], options);
var myArr = [chartData].concat(noOFSeries);
$.jqplot('barchartReqCat', myArr, options);