簡體   English   中英

僅在字典位置的數組值總和 - Javascript

[英]Sum of array values at dictionary positions only - Javascript

我有 x 數量的數據集要發布到折線圖中,並且我想要生成一條額外的線,它是特定位置的所有字典條目的總和(在這種情況下,它是條目的日期)。 我只有 1 個字典,因為數據是從數據庫中提取的 - 名為“all_users_experiences”的字典。

我正在嘗試將每個字典位置的值加在一起並推入另一個數組,這樣我就可以將每個位置除以用戶數以獲得每個位置的總和,但對於我的生活,我只能找到以下示例附加了位置的常規數組,而不是字典值。 JavaScript 新手,所以任何幫助都會很棒!

數組:(2)[數組(30),數組(30)]

數組內容(每個數字都有一個鍵導致我出現問題!):

(30) [1, 2, 5, 8, 9, 9, 4, 3, 3, 5, 6, 2, 2, 1, 5, 6, 7, 7, 7, 7, 6, 6, 4, 3, 4, 3, 2, 5, 7, 7]

(30) [5, 5, 6, 6, 7, 5, 5, 4, 3, 2, 1, 1, 6, 7, 8, 7, 7, 7, 6, 7, 8, 9, 7, 5, 6, 6, 7, 8, 7, 6]

我已經成功地使用常規數字列表完成了這項工作,但沒有使用字典值!

非常感謝你。

編輯:Orignal unaltered Data was parsed into JS 通過 python JSON 只能顯示從這個文件中提取的數據出於敏感性原因。 原始問題內容中的數字是下面正在整理的內容。

HTML 控制台快照:

先前的代碼已嘗試(多次嘗試中的 1 次...):

  console.log(all_users_experiences) //Producing 2 arrays
  console.log(all_users_experiences[0])
  console.log(all_users_experiences[1])

  var total_users = Object.keys(linegraph_data).length;

  user_exp_aggregate = []

  for (var i = 0; i < total_users.length; i++){
    user_exp_aggregate.push(all_users_experiences[i][0] + all_users_experiences[i][1]);
    console.log(user_exp_aggregate)
  }
  console.log("Total list: " + user_exp_aggregate)

編輯2

根據 Bergi 的建議進行了修改,但仍然沒有將數據添加到新數組中:

  user_exp_aggregate = []
  console.log("Initial list: "+ user_exp_aggregate)
  for (var i = 0; i < total_users.length; i++){
    user_exp_aggregate.push(all_users_experiences[0][i] + all_users_experiences[1][i]);
    console.log("updated list: " + user_exp_aggregate)
  }
  console.log("Total list: " + user_exp_aggregate)

結果的修正快照

如何在圖形中使用來自數組的當前數據的示例(嘗試創建顯示所有用戶之間平均值的第三個折線圖數據集!):

在此處輸入圖片說明

這可能是您正在尋找的:

 all_users_experiences = [ [1, 2, 5, 8, 9, 9, 4, 3, 3, 5, 6, 2, 2, 1, 5, 6, 7, 7, 7, 7, 6, 6, 4, 3, 4, 3, 2, 5, 7, 7], [5, 5, 6, 6, 7, 5, 5, 4, 3, 2, 1, 1, 6, 7, 8, 7, 7, 7, 6, 7, 8, 9, 7, 5, 6, 6, 7, 8, 7, 6] ] user_exp_aggregate = [] //Loop to the full length for each for (var i = 0; i < all_users_experiences[0].length; i++) { user_exp_aggregate.push(all_users_experiences[0][i] + all_users_experiences[1][i]); } console.log("Total list: " + user_exp_aggregate) //If you want to divide each value by total user count user_exp_average = [] //var total_users = Object.keys(linegraph_data).length; var total_users = 2 //Assuming total users are 2 for (var i = 0; i < user_exp_aggregate.length; i++) { user_exp_average.push(user_exp_aggregate[i] / total_users); } console.log("Average: " + user_exp_average)

在編輯 2 部分代碼中發生的問題是,循環僅運行到總用戶長度。 但是根據您的規范,您需要遍歷所有體驗以獲取聚合數組,然后將每個值除以用戶總數以獲得平均值。

希望能幫助到你。 如有任何疑問,請回復。

暫無
暫無

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

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