2009-12-18 23 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