I have the following code and I'm attempting to push randomly generated numbers into the data array. I'm just not quite sure on how to access the array. I know my code is probably very sloppy and inefficient, but I'm trying my best to learn and got stuck on this. I'd really appreciate any help.
<script>
var balance = 0;
function nextDay() {
var dayCount = 0;
if (dayCount < 5) {
randNum = Math.random() * (max - min) + min;
console.log(randNum);
max = randNum + 50;
min = randNum - 50;
dayCount++;
}
}
function sell() {
balance = balance + randNum;
console.log("current balance:" + balance);
randNum = 0;
max = randNum + 50;
min = randNum - 50;
}
const startingValues = [];
function getStartingValues() {
var max = 100;
var min = -100;
for (let startingCount = 0; startingCount < 8; startingCount++) {
var randNum = Math.random() * (max - min) + min;
max = randNum + 500;
min = randNum - 100;
data.datasets[3].data.push(randNum);
console.log(startingValues[startingCount]);
}
}
getStartingValues();
const labels = ["Week 1", "Week 2", "Week 3", "Week 4", "Week 5", "Week 6"];
const data = {
labels: labels,
datasets: [
{
label: "graph",
backgroundColor: "rgb(255, 99, 132)",
borderColor: "rgb(255, 99, 132)",
data: [],
},
],
};
const config = {
type: "line",
data: data,
options: {},
};
</script>
The issue seems to be at this line of code data.datasets[3].data.push(randNum);
. You are accessing the datasets
property which has an array as a value. You are trying to access index 3 in this array which does not exist. On closer inspection we realize that the array contains only one element which is an object. So, instead you should be doing this data.datasets[0].data.push(randNum);
which allows you to access the first element in the array which is at index 0.