如何在jquery中创建这种数组?

时间:2018-01-30 15:48:56

标签: javascript jquery

我正在尝试动态构建一个空元素数组。这是我到目前为止所尝试的。

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);

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

您可以像这样使用Array.prototype.fill

let noOfSeries = Array(5).fill([]);

答案 1 :(得分:2)

你有一些方法:
arr1填充.map();
arr2填充.fill();和arr3loop

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);