javascript - Fyll saknade värden med 0 i en array
Jag har två variabler av arrayer nämligen
this.barChartData och this.barChartLabels
var
this.barChartData har en lista,
[[{"data":[1,5,2]}]]
och this.barChartLabels har en array,
["32","34","37"]
Jag behöver fylla de återstående elementen med värdet 0 i denna this.barchartData.
baserat på det första och det sista värdet i this.barchartLables-arrayen.
min slutliga array bör vara, this.barChartLabels
["32","34","37","33","35","36"]
och
this.barChartData
[{"data":[1,5,2,0,0,0]}]
Svar #1
Du kan få minimum- och maximumetiketten och iterera medan du kollar om etiketten redan finns i arrayen. Om inte, lägg till värden.
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; }