Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays AS3:从数组中获取平均值_Arrays_Actionscript 3_Flash_Multidimensional Array_Actionscript - Fatal编程技术网

Arrays AS3:从数组中获取平均值

Arrays AS3:从数组中获取平均值,arrays,actionscript-3,flash,multidimensional-array,actionscript,Arrays,Actionscript 3,Flash,Multidimensional Array,Actionscript,我正在做一个计算学生平均成绩的申请。 他们为所选的每门学科都有输入文本字段,可以在其中插入从1到6的分数,其中6是最好的分数。 我一直试图从数组中得到平均分数,但我就是做不好。问题不是计算平均值,而是访问人们插入的数值。到目前为止,我无法返回人们键入的任何数字 代码如下: import flash.events.MouseEvent; import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridColumn;

我正在做一个计算学生平均成绩的申请。 他们为所选的每门学科都有输入文本字段,可以在其中插入从1到6的分数,其中6是最好的分数。 我一直试图从数组中得到平均分数,但我就是做不好。问题不是计算平均值,而是访问人们插入的数值。到目前为止,我无法返回人们键入的任何数字

代码如下:

import flash.events.MouseEvent;
import fl.controls.DataGrid; 
import fl.controls.dataGridClasses.DataGridColumn; 
import fl.events.DataGridEvent; 
import fl.data.DataProvider; 
import fl.controls.ScrollPolicy;

knapp.addEventListener(MouseEvent.CLICK, klikk);

function klikk (evt:MouseEvent) {
    //Array for å samle alle verdiene
    var karakterer = 0;
    var karakterOversikt:Array = new Array();

    karakterOversikt = [
        {Fag: "Engelsk", "Karakter": uint(inputEng.text)},
        {Fag: "Geografi", "Karakter": uint(inputGeo.text)},
        {Fag: "Historie Vg3", "Karakter": uint(inputHist.text)},
        {Fag: "Kroppsøving Vg3", "Karakter": uint(inputGym.text)},
        {Fag: "Naturfag", "Karakter": uint(inputNat.text)},
        {Fag: "Matematikk Vg1", "Karakter": uint(inputMatVg1.text)},
        {Fag: "Matematik Vg2", "Karakter": uint(inputMatVg2.text)},
        {Fag: "Norsk Hovedmål, skriftlig", "Karakter": uint(inputNorH.text)},
        {Fag: "Norsk Sidemål, skriftlig", "Karakter": uint(inputNorS.text)},
        {Fag: "Norsk Muntlig", "Karakter": uint(inputNorM.text)},
        {Fag: "Religion og etikk", "Karakter": uint(inputRel.text)},
        {Fag: "Samfunnsfag", "Karakter": uint(inputSamf.text)},
        {Fag: "Programfag 1", "Karakter": uint(inputProg1.text)},
        {Fag: "Programfag 2", "Karakter": uint(inputProg2.text)},
        {Fag: "Programfag 3", "Karakter": uint(inputProg3.text)},
        {Fag: "Programfag 4", "Karakter": uint(inputProg4.text)},
        {Fag: "Programfag 5", "Karakter": uint(inputProg5.text)},
        {Fag: "Programfag 6", "Karakter": uint(inputProg6.text)},
        {Fag: "Eksamen 1", "Karakter": uint(inputEksamen1.text)},
        {Fag: "Eksamen 2", "Karakter": uint(inputEksamen2.text)},
        {Fag: "Eksamen 3", "Karakter": uint(inputEksamen3.text)},
        {Fag: "Eksamen 4", "Karakter": uint(inputEksamen4.text)},
        {Fag: "Eksamen 5", "Karakter": uint(inputEksamen5.text)},
    ];

    //sorterer karakterene etter høyeste
    karakterOversikt.sortOn("Karakter", Array.DESCENDING | Array.NUMERIC); 

    //Lager datagrid med alle karakterene
    fagOversiktGrid.dataProvider = new DataProvider(karakterOversikt);
    fagOversiktGrid.columns = ["Fag", "Karakter"];
    fagOversiktGrid.columns[0].width = 190;
    fagOversiktGrid.columns[1].width = 70;

平均值就是所有Karakter值之和除以karakterOversikt.length:


谢谢你的回答。不幸的是,我没有从总和中得到任何值。尝试移动var和:数字=0;在函数外部,以及将sum/karakterOversikt.length插入另一个变量,然后返回该变量。但当我尝试在函数外部跟踪sum时,它会给我错误。有什么建议吗?您可以从var average:Number=averageScorekarakterOversikt这样的地方使用此函数。它给了你什么错误?我意识到我需要改变我的阵列。首先创建一个包含所有信息的数组,然后创建一个循环,将所有信息插入到一个新数组中,该数组将是datagrid的数据库。这给我留下了更大的灵活性,因为我现在有两个数组,可以用于不同的东西。这样做的时候,我让你的函数与第一个数组一起工作。谢谢你的帮助!:
function averageScore(karakterOversikt:Array):Number {
    var sum:Number = 0;
    for each (var item:Object in karakterOversikt) {
        sum += item.Karakter;
    }
    return sum / karakterOversikt.length;
}