2009-12-18 25 views
0

是否有可能使用類似這樣的東西創建一個動態數組並存儲X元素,然後獲取平均值?這怎麼可能?從jquery中的每個創建動態數組?

$(xml).find('student').each(function(){ 
    var name = $(this).find("name").text(); 
     var myArray = DYNAMIC ELEMENTS 

    student_list.append("<tr><td>"+name+"</td><td>"+cid+"</td><td>"+grade+"</td></tr>"); 
}); 

我想爲每個類存儲一組等級,然後獲得數組中所有元素的平均值。我需要計算所有元素的增加「key:value」是否正確?

沿着這些線:myArray[1] = "54" = myArray[i] = g <- dynamic

回答

2

鍵/值可用於字典類型的,而不是陣列。要獲得平均值,只需將數組中的所有元素相加即可,然後除以數組的長度。您可以通過for循環訪問每個元素。

var allGrades = []; 

$.each(... // whatever you had over here ... function() { 
    var grade = $(this).find("course").text(); 
    allGrades[allGrades.length] = Number(grade); 
}); 

// Average grades 
var gradesTotal = 0; 
for (var i = 0; i < allGrades.length; i++) { 
    gradesTotal += allGrades[i]; 
} 

var gradesAverage = gradesTotal/allGrades.length; 
+1

'allGrades [allGrades.length] =號(級);'這可以(並且可能應該)被縮短爲'allGrades [] =號(級);' – 2009-12-18 16:35:43

+0

要去嘗試了這一點!謝謝 – Coughlin 2009-12-18 18:04:14