当命令行命令很重要时

When command line order matters?

本文关键字:命令行 命令      更新时间:2023-09-26

我是编码新手,如果我使用了错误的术语,我很抱歉(请纠正我)。我正在做以下编码挑战:给定一个有多个值的数组,编写一个函数,返回一个只包含原始数组的最大值、最小值和平均值的新数组。

这是我第一次尝试时想到的代码:首次尝试

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

我认为,由于最大值、最小值和平均值都在变化(有更好的术语吗?),var arrnew会获取这些新值,但显然不是这样。我想我的问题是行顺序什么时候重要?或者更具体地说,有什么简单的规则或原则我应该知道,以帮助我更好地理解命令行编码(我不知道这是否叫做命令行编码)。

感谢

执行此操作时:

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

注意,arrnew的内容完全不受maxminavg所包含内容的后续更改的影响。这就是Javascript(以及大多数语言)的工作方式。

因为有编译器,编译器总是从上到下,所以总是尝试以有序的方式构建代码。