我可以console.log我的數據在前端,但我需要做一些邏輯來組織這些數據,我不確定這種類型的問題最好的方法是什麼。我需要對每個項目的分析數量進行「計數」。因此,每個對象下面都有一個project_id和一個analysis_id。因此,必須有一種方法可以爲每個對象創建一個計數變量,用javascript表示每個項目有多少分析。任何幫助是極大的讚賞。使用javascript組織數據在前端使用javascript
0
A
回答
0
你可以做這樣的事情。爲每個要迭代的對象創建一個對象,檢查您是否擁有該project_id的現有屬性。如果沒有初始化爲0.然後加1。
var projectCounts = {}, index = 0; length = someData.length;
for (; index < length; index++) {
var projectId = someData[index].project_id;
if (!projectCounts['Project' + projectId]) {
projectCounts['Project' + projectId] = 0;
}
projectCounts['Project' + projectId]++
}
小提琴:http://jsfiddle.net/Lbohgnxs/
編輯:所以,如果你願意,你可以只通過每次迭代設置計數每個這些計數對象。由於對象只是對內存中某個點的引用,因此每個引用在循環完成後都會有最終值。
小提琴:http://jsfiddle.net/Lbohgnxs/1/
var projectCounts = {}, index = 0; length = someData.length;
for (; index < length; index++) {
var projectId = someData[index].project_id;
if (!projectCounts['Project' + projectId]) {
projectCounts['Project' + projectId] = 0;
}
projectCounts['Project' + projectId]++
someData[index].counts = projectCounts;
}
如果你不喜歡每天數,只是想具體的項目數,您可以創建一個計數對象,並使用該引用爲好。
小提琴:http://jsfiddle.net/Lbohgnxs/2/
var projectCounts = {}, index = 0; length = someData.length;
for (; index < length; index++) {
var projectId = someData[index].project_id;
if (!projectCounts['Project' + projectId]) {
projectCounts['Project' + projectId] = {count: 0};
}
projectCounts['Project' + projectId].count++
someData[index].counts = projectCounts['Project' + projectId];
}
0
可以循環數組和更新項目的ID映射到他們的計數的對象:但是
// simplified sample data
var analyses = [
{
project_id: 1,
analysis_id: 10
},
{
project_id: 2,
analysis_id: 11
},
{
project_id: 3,
analysis_id: 12
},
{
project_id: 3,
analysis_id: 13
}
];
var counts = {};
analyses.forEach(function(el) {
var pid = el.project_id;
counts[pid] = counts[pid] || 0; // start at 0 if we haven't seen this project before
++counts[pid];
});
console.log(counts); // {1: 1, 2: 1, 3: 2
相關問題
- 1. 組織Javascript數組
- 2. 使用javascript重新組織DOM元素
- 3. 在JavaScript中使用XHR,REST組織代碼使用XHR
- 4. 使用Javascript:數組之前未定義
- 5. 使用Javascript - 數組
- 6. 使用javascript數組
- 7. 在javascript中使用數組
- 8. 在JavaScript使用數組
- 9. 在javascript中使用數組?
- 10. 使用JavaScript堅持客戶端數據?
- 11. 在VB.NET中使用JSON.NET組織數據
- 12. 如何在ASP.NET MVC項目中組織前端JavaScript代碼?
- 13. 使用JSON數據填充Javascript數組
- 14. 數據使用javascript
- 15. 的jsfiddle,codepen,Jsbin像前端 - 使用Javascript
- 16. 使用javascript前端訪問控制
- 17. 使用數據在JavaScript
- 18. 使用.toSource用JavaScript數組
- 19. 組織數據使用Graphshortestpath函數 - Matlab
- 20. 使用Javascript - 在使用之前定義
- 21. 使用Javascript - 數組「類」
- 22. javascript - 使用填充數組
- 23. 使用Javascript - 數組排序
- 24. Django的:使用Javascript數組
- 25. 使用javascript同步數組
- 26. 使用Javascript:從數組
- 27. 使用Javascript的數組
- 28. 輸入數組使用javascript
- 29. 使用JavaScript創建數組
- 30. 使用Javascript - 從數組
這是一個很好的想法,它只是創建一個全新的對象。我需要爲每個當前對象添加一個「count」變量,以便我可以將它們顯示在表中。 – Nodedeveloper101
那麼你總是可以在你迭代的每個人身上設置這個對象,並且只需通過JavaScript中的引用傳遞,它們將在迭代每個對象時繼續更新。例如:http://jsfiddle.net/Lbohgnxs/1/ – AtheistP3ace
如果你可以更新你的小提琴,這真的會幫助我理解,謝謝 – Nodedeveloper101