簡體   English   中英

如何使用 JavaScript 將值推送到嵌套數組中?

[英]How can I push values into nested array with JavaScript?

我有以下代碼,我試圖將隨機生成的數字推送到數據數組中。 我只是不太確定如何訪問數組。 我知道我的代碼可能非常草率和低效,但我正在盡我最大的努力學習並堅持下去。 我真的很感激任何幫助。

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

您好,歡迎來到 stackoverflow Jacob。 問題似乎出在這行代碼data.datasets[3].data.push(randNum); . 您正在訪問以數組作為值的datasets屬性。 您正在嘗試訪問此數組中不存在的索引 3。 仔細檢查后,我們發現該數組僅包含一個元素,即 object。因此,您應該這樣做data.datasets[0].data.push(randNum); 它允許您訪問數組中索引為 0 的第一個元素。我希望這是有道理的。

使用Array構造函數,您可以創建嵌套的 arrays(還有其他方法)。

 const data = []; const startingValues = []; function getStartingValues() { var max = 100 var min = -100 for (let i = 0; i <= 7; i++) { data[i] = Math.random() * (max - min) + min; } //Add data as nested arrray to startingValues startingValues[0] = new Array(data); } getStartingValues(); console.log(startingValues); //Starting values is a 1x8 nested array

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM