javascript - 深度等于错误?

标签 javascript oop

我目前正在使用 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)?

最佳答案

测试套件期望返回数组包含具有属性 nameorbitalPeriod 的对象 - 您的返回数组包含具有属性 的对象名称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}]);

关于javascript - 深度等于错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31040214/

相关文章:

delphi - 如何使用dunit的DUnitWizard中包含的XPObserver单元来实现观察者模式,甚至MVC模式?

javascript - 将 requireJS 模块作为单例使用是一种不好的做法吗?

javascript - 如何在 React Native 中根据其中心而不是起点旋转 svg?

matlab - 具有依赖字段的子结构

c++:多文件c++项目中的相互引用结构

php - 组织类(class) - 帮助 OOP 初学者

java - 每次都需要创建一个Java类吗?

javascript - 执行 ElementArrayFinder

javascript - 无法使极坐标图填充 Anychart 中的整个象限

javascript - 使用标签切换 <section> 背景