2018-10-08 13:34:43 -04:00
---
id: af4afb223120f7348cdfc9fd
title: Map the Debris
localeTitle: Mapa de los escombros
challengeType: 5
---
## Description
2018-10-09 20:28:15 +01:00
< section id = 'description' >
Devuelve una nueva matriz que transforma la altitud promedio de los elementos en sus períodos orbitales (en segundos).
La matriz contendrá objetos en el formato < code > {name: & #39 ; name& #39 ; , avgAlt: avgAlt}</ code > .
Puedes leer sobre periodos orbitales < a href = "http://en.wikipedia.org/wiki/Orbital_period" target = '_blank' > en Wikipedia< / a > .
Los valores deben redondearse al número entero más cercano. El cuerpo que está siendo orbitado es la Tierra.
El radio de la Tierra es 6367.4447 kilómetros, y el valor GM de la Tierra es 398600.4418 km < sup > 3< / sup > s < sup > -2< / sup > .
Recuerda usar < a href = 'http://forum.freecodecamp.org/t/how-to-get-help-when-you-are-stuck/19514' target = '_blank' > Read-Search-Ask< / a > si te atascas. Trate de emparejar el programa. Escribe tu propio código.
2018-10-08 13:34:43 -04:00
< / section >
## Instructions
2018-10-09 20:28:15 +01:00
< section id = 'instructions' >
2018-10-08 13:34:43 -04:00
< / section >
## Tests
< section id = 'tests' >
```yml
tests:
2018-10-09 20:28:15 +01:00
- text: ' < code > orbitalPeriod([{name : " sputnik" , avgAlt : 35873.5553}])</ code > debe devolver < code > [{name: " sputnik" , orbitalPeriod: 86400}]</ code > .'
2018-10-08 13:34:43 -04:00
testString: 'assert.deepEqual(orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}]), [{name: "sputnik", orbitalPeriod: 86400}], "< code > orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}])< / code > should return < code > [{name: "sputnik", orbitalPeriod: 86400}]< / code > .");'
2018-10-09 20:28:15 +01:00
- text: ' < code > orbitalPeriod([{name: " iss" , avgAlt: 413.6}, {name: " hubble" , avgAlt: 556.7}, {name: " moon" , avgAlt: 378632.553}])</ code > debe devolver < code > [{name : " iss" , orbitalPeriod: 5557}, {name: " hubble" , orbitalPeriod: 5734}, {name: " moon" , orbitalPeriod: 2377399}]</ code > . '
2018-10-08 13:34:43 -04:00
testString: 'assert.deepEqual(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}], "< code > orbitalPeriod([{name: "iss", avgAlt: 413.6}, {name: "hubble", avgAlt: 556.7}, {name: "moon", avgAlt: 378632.553}])< / code > should return < code > [{name : "iss", orbitalPeriod: 5557}, {name: "hubble", orbitalPeriod: 5734}, {name: "moon", orbitalPeriod: 2377399}]< / code > .");'
```
< / section >
## Challenge Seed
< section id = 'challengeSeed' >
< div id = 'js-seed' >
```js
function orbitalPeriod(arr) {
var GM = 398600.4418;
var earthRadius = 6367.4447;
return arr;
}
orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}]);
```
< / div >
< / section >
## Solution
< section id = 'solution' >
```js
function orbitalPeriod(arr) {
var GM = 398600.4418;
var earthRadius = 6367.4447;
var TAU = 2 * Math.PI;
return arr.map(function(obj) {
return {
name: obj.name,
orbitalPeriod: Math.round(TAU * Math.sqrt(Math.pow(obj.avgAlt+earthRadius, 3)/GM))
};
});
}
orbitalPeriod([{name : "sputkin", avgAlt : 35873.5553}]);
```
< / section >