2014-04-28 7 views
0

사용자 입력을 받아 평균을 찾는 JavaScript 코드를 작성하려고합니다. 그런 다음 목록의 평균보다 위에있는 숫자와 평균보다 낮은 숫자를 넣어야합니다. 평균보다 높거나 낮은 숫자의 정렬을 제외하고는 모두 작동합니다. 당신 도움보다.기본 자바 스크립트 위쪽 및 아래쪽 정렬

function getNums() 
{ 
    var nums = new Array(); 
    var numAmt = prompt("How many data values do you have?"); 
    numAmt = parseInt(numAmt); 
    var i = 0; 
    for (i = 0; i<= numAmt - 1; i++) 
    { 
     nums[i]= prompt("Enter the data value number " + (i + 1)); 
    } 

    var sum = 0; 
    for(i = 0; i < nums.length; i++) 
    { 
     sum += parseInt(nums[i]); 
     var avg = sum/nums.length; 
    }  

    var big = 0; 
    var small = 0; 
    for (i = 0; i < nums.length; i++) 
    { 
     if (nums[i] > avg) 
      big += parseInt(numbers[i]); 
     else 
      small += parseInt(numbers[i]); 

     document.getElementById('numbers').innerHTML = "Your data: " + nums; 
     document.getElementById('average').innerHTML =("The mean(average) of these numbers is: " + avg.toFixed(2) +".<br>"); 
     document.getElementById('bigger').innerHTML = "Your data: " + big; 
     document.getElementById('smaller').innerHTML = "Your data: " + small; 
    } 
} 
+1

사람들이'new Array()'를 계속보고있는 이유 –

+0

텍스트 책의 3 장을 읽으십시오 ... – sfletche

+0

'number + number = number'를하고있는 것처럼 보입니다 –

답변

0
저는 개인적으로 두 가지 기능의 "이 배열의 평균을 찾을 수"에 초점을 맞추고 하나, 또 다른이 점을 끊을

"피벗 주변이 배열을 정렬 할 수 있습니다."

function mean(arr) { 
    var sum = arr.reduce(function (prev, curr) { 
    return prev + curr; 
    }); 
    return sum/arr.length; 
} 

function pivotSort(arr, pivot) { 
    var sorted = []; 
    arr.forEach(function (val) { 
    if (val >= pivot) 
     sorted.push(val); 
    else 
     sorted.unshift(val); 
    }); 
} 

피벗 정렬이 최적화 된 상태가 아니지만 여하튼 v8은 요즘 꽤 빠릅니다.

관련 문제