2.0 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
af4afb223120f7348cdfc9fd | Mapea el Debris | 5 | 16021 | map-the-debris |
--description--
Devuelve un nuevo arreglo que transforma la altitud media de los elementos en sus periodos orbitales (en segundos).
El arreglo contendrá objetos en el formato {name: 'name', avgAlt: avgAlt}
.
Puedes leer sobre los períodos orbitales en Wikipedia.
Los valores deben redondearse al número entero más cercano. El cuerpo orbitado es la Tierra.
El radio de la tierra es de 6367.4447 kilómetros y el valor GM de la tierra es de 398600.4418 km3s-2.
--hints--
orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}])
debe devolver [{name: "sputnik", orbitalPeriod: 86400}]
.
assert.deepEqual(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}])
debe devolver [{name : "iss", orbitalPeriod: 5557}, {name: "hubble", orbitalPeriod: 5734}, {name: "moon", orbitalPeriod: 2377399}]
.
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 }
]
);
--seed--
--seed-contents--
function orbitalPeriod(arr) {
const GM = 398600.4418;
const earthRadius = 6367.4447;
return arr;
}
orbitalPeriod([{name : "sputnik", avgAlt : 35873.5553}]);
--solutions--
function orbitalPeriod(arr) {
const GM = 398600.4418;
const earthRadius = 6367.4447;
const 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))
};
});
}