网站搜索

javascript - 在数组中用 0 填充缺失值


我有两个数组变量,分别是

this.barChartData 和 this.barChartLabels

哪里

this.barChartData 有一个数组,

[[{"data":[1,5,2]}]]

并且 this.barChartLabels 有一个数组,

["32","34","37"]

我需要在 this.barchartData 中用值 0 填充剩余的元素。

基于 this.barchartLables 数组中的初始值和最终值。

我的最终数组应该是,this.barChartLabels

["32","34","37","33","35","36"]

和

this.barChartData

[{"data":[1,5,2,0,0,0]}]

答案#1

你可以获取最小值和最大值标签,并在迭代时检查标签是否已在数组中。如果没有,将值推入。

var data = [1, 5, 2],
    labels = ["32", "34", "37"],
    min = Math.min.apply(null, labels),
    max = Math.max.apply(null, labels);

while (min <= max) {
    if (labels.indexOf(min.toString()) === -1) {
        labels.push(min.toString());
        data.push(0);
    }
    min++;
}

console.log(data);
console.log(labels);
.as-console-wrapper { max-height: 100% !important; top: 0; }