2016-11-14 24 views
-1

私は入門コーディングコースに入っています。私たちはちょうどJavaScriptについて学び始めました。私たちの最初の任務は、数字のリストの合計値、平均値、最大値、および最小値を計算することができる単純なJavaScript計算機を作成することです。私の先生は、これはさまざまな方法で達成できると言いますが、 "for"ループと呼ばれるものをお勧めします。私はCSSとHTMLでまともですが、私は本当にJavaScriptに苦労しています。どんな助けもありがとう。Javascript電卓(難易度)

HTML:

<h4>1,3,9,6,5,7,12,32</h4> 
     <input type="text" id="valueList"><button type="button" id="calculate">Calculate Stats</button> 
     <br><br> 
     <H2>Results</H2> 
<ul id="results"><!--javascript will write items here--></ul> 

JSS:

var valueSum = 0; 
var valueAverage = 0; 
var valueMax = 0; 
var valueMin = 0; 

$("#calculate").click(processValues); 

function processValues() {//listens for click event 
    $("#results").html("");//clears any list items from last calculation 
    var valueString = $("#valueList").val(); 
    var value = $.map(valueString.split(","), Number); //this is an array 
    valueCount = value.length; //get the lenght of the array (number of values) 
    // 
    //Use a loop (or loops) here to help calculate the sum, average, max, and min of the values 
    // 



    $("#results").append("<li>The values entered: " + valueString + ".</li>");//appends values 
    $("#results").append("<li>There are " + valueCount + " values.</li>");//appends value count 

    //need to append Sum, average, max, and min to bullet list here 

    //clears text field for next set of values to be entered 
    $("#valueList").v 
+0

あなたが持っている正確に何の問題や質問を説明してください。 –

+0

チュートリアルサービスでStack Overflowを混乱させるようです。 – Tibrogargan

+0

この質問は何度か答えられました。質問をする前に、問題をGoogleに試してください。 [私は先週回答した同様の質問です。](http://stackoverflow.com/questions/40433498/how-do-i-compute-an-array-or-string-of-numbers-and-mathematical-operators/ 40433780#40433780) –

答えて

0

OK、あなたは番号のリストを与えられ、これらのそれぞれを計算したかった場合は、論理的にどうなるのかを考えます。

たとえば、数字のリストを含む紙があり、最大数を把握したい場合は、最初の数字を見て、頭に入れて保存してくださいあなたがそれより大きな番号を見つけるまでリストをスキャンしてください。リストの終わりに達するまで、それ以上の番号が見つかるまでリストをスキャンし続けます。これには、

var maxSeen = value[0]; 

for (var i = 1; i < valueCount; i++) { 
    var thisNumber = value[i]; 

    if (thisNumber > maxSeen) { 
     maxSeen = thisNumber; 
    } 
} 

console.log("max", maxSeen); 

のようなforループで実現することができ、「forループ」グーグル、その後、あなたはペンと紙で他人のそれぞれを計算する方法を考えてみて、あなたは残りの部分を自分で実装することができるかどうかを確認。やり方よりも学ぶのに良い方法はありません。

0

ここに答えがあります。

https://jsfiddle.net/5a3bndy9/

$("#calculate").click(processValues); 

function processValues() { 

    var valueSum = 0; 
    var valueAverage = 0; 
    var valueMax = 0; 
    var valueMin = Infinity; 

    //listens for click event 
    $("#results").html("");//clears any list items from last calculation 
    var valueString = $("#valueList").val(); 
    var value = $.map(valueString.split(","), Number); //this is an array 
    valueCount = value.length; //get the lenght of the array (number of values) 

    // 
    //Use a loop (or loops) here to help calculate the sum, average, max, and min of the values 
    // 

// loop to find sum 
for (var i=0; i <= valueCount; i++) 
{ 
    if (value[i] != undefined) // this check exists because your array includes undefined and it shouldn't 
    { 
     valueSum += +value[i]; 
    } 
} 

// praxis to find average 
valueAverage = valueSum/valueCount; 

// loop to find max 
for (var i=0; i <=valueCount; i++) 
{ 
     if (value[i] != undefined) // this check exists because your array includes undefined and it shouldn't 
     { 
      if (value[i] > valueMax) 
      { 
       valueMax = value[i]; 
      }  
     } 
} 

//loop to find min 
for (var i=0; i <=valueCount; i++) 
{ 
     if (value[i] != undefined) // this check exists because your array includes undefined and it shouldn't 
     { 
      if (value[i] <= valueMin) 
      { 
       valueMin = value[i]; 
      }  
     } 
} 

    $("#results").append("<li>The values sum is : " + valueSum + ".</li>");//appends values 
    $("#results").append("<li>The values average is : " + valueAverage + ".</li>");//appends values 
    $("#results").append("<li>The values max is : " + valueMax + ".</li>");//appends values 
    $("#results").append("<li>The values min is : " + valueMin + ".</li>");//appends values 
    $("#results").append("<li>There are " + valueCount + " values.</li>");//appends value count 

    //need to append Sum, average, max, and min to bullet list here 

    }