深度等于的错误
Error with Deeply Equal To?
我目前正在使用FreeCodeCamp来学习基本的JavaScript脚本。我目前正在处理的问题是:
http://www.freecodecamp.com/challenges/bonfire-map-the-debris.
该问题涉及使用OOP来解决特定任务(从给定高度计算轨道周期)。
我的代码如下:
function orbitalPeriod(arr) {
var GM = 398600.4418;
var earthRadius = 6367.4447;
this.arr = arr;
for(var i = 0; i < arr.length; i++){
var altitude = this.arr[i]["avgAlt"] + earthRadius;
var calc = Math.round((2*Math.PI) * Math.sqrt(Math.pow(altitude,3) / GM),1);
this.arr[i]["avgAlt"] = calc;
}
return this.arr;
}
orbitalPeriod([{name : "sputkin", avgAlt : 35873.5553}]);
问题不在于我的计算。相反,当我提交代码时,我得到:"预期[{name:‘sputkin’,avgAlt:86400}]深度等于[Array(1)]"。有人知道为什么它告诉我应该返回一个数组(1)吗?
测试套件期望返回数组包含属性为name
和orbitalPeriod
的对象,而您的返回数组则包含属性为name
和avgAlt
的对象。
附带说明,除非你确定它的作用,否则不要使用this
关键字——我向你保证,它不会像你认为的那样在这里起作用。
这是解决方案,请将其与您的解决方案进行比较。你的计算是正确的,这部分做得很好。
function orbitalPeriod(arr) {
var GM = 398600.4418,
earthRadius = 6367.4447,
output = [], altitude, calc;
for (var i = 0; i < arr.length; i++){
altitude = arr[i].avgAlt + earthRadius;
calc = Math.round((2*Math.PI) * Math.sqrt(Math.pow(altitude,3) / GM));
output.push({
name: arr[i].name,
orbitalPeriod: calc
});
}
return output;
}
orbitalPeriod([{name : "sputkin", avgAlt : 35873.5553}]);
附言:Math.round()
只取一个参数。
奖励答案:
如果我们不针对性能进行调整,Array.prototype.map()
会使这一点变得非常干净。
function orbitalPeriod(arr) {
var GM = 398600.4418,
earthRadius = 6367.4447;
return arr.map(function (o) {
return {
name: o.name,
orbitalPeriod: Math.round((2 * Math.PI) * Math.sqrt(Math.pow(o.avgAlt + earthRadius, 3) / GM))
};
});
}
orbitalPeriod([{name : "sputkin", avgAlt : 35873.5553}]);
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 铬:“;未捕获的语法错误:意外的标记:"
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 相位器状态未捕获参考错误
- /undefined在我的404错误日志中多次出现
- Javascript未捕获语法错误意外的标识符错误
- 3d上的深度比例错误
- 深度嵌套的backbone.js对象会导致错误
- 猫鼬-自引用深度填充错误
- 深度等于的错误