--- id: af4afb223120f7348cdfc9fd title: Map the Debris localeTitle: Mapa de los escombros challengeType: 5 --- ## 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 {name: 'name', avgAlt: avgAlt} . Puedes leer sobre periodos orbitales en Wikipedia . 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 3 s -2 . Recuerda usar Read-Search-Ask si te atascas. Trate de emparejar el programa. Escribe tu propio código.
## Instructions
## Tests
```yml tests: - text: ' orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}]) debe devolver [{name: "sputnik", orbitalPeriod: 86400}] .' testString: 'assert.deepEqual(orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}]), [{name: "sputnik", orbitalPeriod: 86400}], "orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}]) should return [{name: "sputnik", orbitalPeriod: 86400}].");' - text: ' orbitalPeriod([{name: "iss", avgAlt: 413.6}, {name: "hubble", avgAlt: 556.7}, {name: "moon", avgAlt: 378632.553}]) debe devolver [{name : "iss", orbitalPeriod: 5557}, {name: "hubble", orbitalPeriod: 5734}, {name: "moon", orbitalPeriod: 2377399}] . ' 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}], "orbitalPeriod([{name: "iss", avgAlt: 413.6}, {name: "hubble", avgAlt: 556.7}, {name: "moon", avgAlt: 378632.553}]) should return [{name : "iss", orbitalPeriod: 5557}, {name: "hubble", orbitalPeriod: 5734}, {name: "moon", orbitalPeriod: 2377399}].");' ```
## Challenge Seed
```js function orbitalPeriod(arr) { var GM = 398600.4418; var earthRadius = 6367.4447; return arr; } orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}]); ```
## 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}]); ```