首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基本JavaScript排序高于均值和低于均值

基本JavaScript排序高于均值和低于均值
EN

Stack Overflow用户
提问于 2014-04-29 06:21:48
回答 1查看 72关注 0票数 0

我正在尝试写一个JavaScript代码,它将接受用户的输入并找到平均值。然后,它应该将列表中的数字放在平均值之上,将数字放在平均值下面。除了对均值之下和之上的数字进行排序之外,一切都正常。感谢你的帮助。

代码语言: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;
    } 
}
EN

回答 1

Stack Overflow用户

发布于 2014-04-29 06:35:45

我个人会把它分成两个函数,一个专注于“找到这个数组的平均值”,另一个专注于“围绕轴心对这个数组进行排序”。

代码语言:javascript
复制
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);
  });
}

pivot排序甚至还没有接近优化,但见鬼,v8现在相当快。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23352192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档