命令行顺序何时重要?

时间:2016-07-23 04:57:45

标签: javascript algorithm command-line

如果我使用错误的术语,我是新来的编码所以道歉(请纠正我)。我正在进行以下编码挑战:给定一个具有多个值的数组,编写一个返回一个新数组的函数,该数组仅包含原始数组的最大值,最小值和平均值。

这是我第一次尝试时提出的代码: First attempt

最终我通过反复试验发现问题是我的arrnew变量的位置。我还修复了平均表达式,正确的算法是:Correct algorithm

我认为,因为max,min和avg正在改变(对于这个有更好的术语吗?),var arrnew会获得这些新值,但显然情况并非如此。我想我的问题是行顺序何时重要?或者更具体地说,是否有任何简单的规则或原则我应该知道,以帮助我更好地理解命令行编码(我不知道这是否称为命令行编码)。

由于

2 个答案:

答案 0 :(得分:1)

执行此操作时:

var arrnew = [max, min, avg];

这会将maxminavg的内容副本放入数组中。对maxminavg包含的内容的未来更改不会以任何方式影响数组。

所以,如果你这样做;

var max = 3, min = 1, avg = 2;
var arrnew = [max, min, avg];    // 3, 1, 2
max = 5;
console.log(arrnew);             // 3, 1, 2

请注意,arrnewmaxmin包含的后续更改不会影响avg的内容。这就是Javascript(以及大多数语言的工作方式)。

答案 1 :(得分:0)

由于编译器,编译器总是从上到下,所以总是尝试以有序的方式构造代码。