Map the Debris(freecodecamp高级算法8)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Map the Debris(freecodecamp高级算法8)相关的知识,希望对你有一定的参考价值。

Map the Debris

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

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

以轨道高度计算轨道周期的公式技术分享

 

          技术分享a:轨道的半长轴(m),μ = GM

 

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

地球半径是 6367.4447 kilometers, 地球的GM值是 398600.4418, 圆周率为Math.PI

function orbitalPeriod(arr) {
                    var GM = 398600.4418;
                    var earthRadius = 6367.4447;var retArr = [];
                    
                    function calOrbital(avgAlt){
                        return Math.round(2 * Math.PI * (Math.sqrt(Math.pow(avgAlt + earthRadius,3)/GM)));
                        //return Math.round(Math.pow(((4*(Math.pow(Math.PI, 2)) * Math.pow((avgAlt+earthRadius), 3))/GM), 0.5));
                    }
                    
                    for(var i=0;i<arr.length;i++){
                    
                        var obj = {};
                        obj.name = arr[i].name;
                        obj.orbitalPeriod = calOrbital(arr[i].avgAlt);
                        
                        retArr.push(obj);
                    }
                    return retArr;
                }
                
                orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}]);

 

以上是关于Map the Debris(freecodecamp高级算法8)的主要内容,如果未能解决你的问题,请参考以下文章

Let the Balloon Rise map一个数组

Android Make Disappear or remove the blue dot on the map v2

HDU 1004 Let the Balloon Rise map

The Game of Life (队列+map)

CF1005C Summarize to the Power of Two 暴力 map

[Immutable.js] Differences between the Immutable.js Map() and List()