3.0 KiB
3.0 KiB
id, title, localeTitle, challengeType
id | title | localeTitle | challengeType |
---|---|---|---|
af4afb223120f7348cdfc9fd | Map the Debris | Mapa de los escombros | 5 |
Description
{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
tests:
- text: ' <code>orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}])</code> debe devolver <code>[{name: "sputnik", orbitalPeriod: 86400}]</code> .'
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>.");'
- 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> . '
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>.");'
Challenge Seed
function orbitalPeriod(arr) {
var GM = 398600.4418;
var earthRadius = 6367.4447;
return arr;
}
orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}]);
Solution
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}]);