zoukankan      html  css  js  c++  java
  • Map the Debris 轨道周期

    返回一个数组,其内容是把原数组中对应元素的平均海拔转换成其对应的轨道周期.

    原数组中会包含格式化的对象内容,像这样 {name: 'name', avgAlt: avgAlt}.

    至于轨道周期怎么求,戳这里 on wikipedia (不想看英文的话可以自行搜索以轨道高度计算轨道周期的公式).

    求得的值应该是一个与其最接近的整数,轨道是以地球为基准的.

    地球半径是 6367.4447 kilometers, 地球的GM值是 398600.4418,

    圆周率为 Math.PI

    i 进行开方运算 Math.sqrt(i)

    返回 x 的 y 次幂 Math.pow(x, y)

    四舍五入Math.round()

    orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}]) 应该返回 [{name: "sputnik", orbitalPeriod: 86400}].
     
    orbitalPeriod([{name: "iss", avgAlt: 413.6}, {name: "hubble", avgAlt: 556.7}, {name: "moon", avgAlt: 378632.553}]) 应该返回 [{name : "iss", orbitalPeriod: 5557}, {name: "hubble", orbitalPeriod: 5734}, {name: "moon", orbitalPeriod: 2377399}].
    function orbitalPeriod(arr) {
     // T=2π√(r³/GM)
      var GM = 398600.4418;
      var earthRadius = 6367.4447;
      for(var i = 0;i < arr.length; i++){
        var r = earthRadius + arr[i].avgAlt;
        arr[i].orbitalPeriod = Math.round(2 * Math.PI * Math.sqrt(Math.pow(r, 3)/GM));
        delete arr[i].avgAlt;
      }
      return arr;
    }
    
    orbitalPeriod([{name: "iss", avgAlt: 413.6}, {name: "hubble", avgAlt: 556.7}, {name: "moon", avgAlt: 378632.553}]);
  • 相关阅读:
    小学四则运算
    浏览后感想
    组员名单
    软件工程--第五次作业--(1、2、3、4(1))
    第四次作业
    《软件工程》第二次作业
    现代软件工程 第一次作业
    软件工程问题
    第五次作业
    第四次作业
  • 原文地址:https://www.cnblogs.com/leina-2017-09-01/p/10654654.html
Copyright © 2011-2022 走看看