【问题标题】:Understanding JS programming code using a function, array and loop使用函数、数组和循环理解 JS 编程代码
【发布时间】:2015-10-29 22:46:05
【问题描述】:

所以我需要一些帮助来理解这段代码。我知道这个函数的目标是遍历这个数组并找到最大值。但是我对“array[0]”和“array[i]”到底是什么感到困惑。提前致谢。

    var max_value = function(array) {
     var result = array[0];
     for (var i = 0; i < array.length; i++) {
     if (array[i] > result) {
     result = array[i];
   };
  }
   return result;
  }
   console.log(max_value([1, 50, 2]));

【问题讨论】:

  • 请注意,您不希望在附加到 if 的块上关闭 } 之后的 ;。您确实想要一个附加到函数表达式的结束}。使用正确、一致的缩进可以使这样的错误更清晰。代码有效,因为它不应该出现的; 在很大程度上是无害的(只是一个空语句),而 JavaScript 有一个可怕的东西,称为自动分号插入,它会经常(但不总是)插入如果您不使用分号,则为您提供分号。

标签: javascript arrays node.js function loops


【解决方案1】:

数组是一种项目列表。想象一下下面...

var array = ['one', 'two', 'three']; // [0]='one' [1]='two' [2]='three'

array[0] 中包含的值实际上是“一”,依此类推(数组从索引 0 开始,而不是 1)。当您的循环运行时,i 每次都会递增(这是 for 循环的 i++ 部分),因此指向的数组索引(在本例中为 [i])也会增加,因此值每次都会改变通过循环。

function justDoesStuff()
{
    // do some cool stuff then call returnSomeStuff()

    var number = returnSomeStuff(); // number will equal 100

    // notice no return statement
}

function returnSomeStuff()
{
    return 100;
}

【讨论】:

  • 但是 array[i] 到底是什么意思呢?是“物品”的意思吗?谢谢。
  • 不,'i' 只是当前的'turn' 循环是否有意义?这只是索引
  • @DanielTavares:是的,有效。这意味着“给我来自arrayith 条目”。 i 称为索引。第一个索引是 0,第二个是 1。
  • 让我重新措辞.... [i] 只是循环本身内当前索引的表示,希望有意义吗?
  • 完美。现在对于函数,它们是否总是需要“返回”?
【解决方案2】:

array[position] - 表示从 'array' 中获取位于 'position' 的元素。

现在,如果你的数组是

var array = ["a", "b", "c", "d"];

如果要获取数组中的第一个和第三个元素。

array[0] -> a
array[2] -> c

现在,可以通过将位置作为变量来执行相同的操作。

var position = 0;
array[position] -> a
var position = 2;
array[position] -> c

这通常用于在循环中遍历数组或在运行时根据条件确定位置。

【讨论】:

    【解决方案3】:

    在代码的最后,您调用函数 (max_value) 并将数组作为参数传递给函数。

    您的“结果”变量最初设置为数组 [0],在您的情况下,“结果”最初设置为数组 [0] 或“1”。

    var array = [1, 50, 2]
    array[0] = 1
    array[1] = 50
    array[2] = 2
    

    数组后面括号中指定的数字将值定位到数组中的某个位置。

    循环将通过更改 i 或索引/位置来遍历您的数组,并将该数组中对象的值与您的结果变量进行比较。如果数组下一个位置的值大于结果变量的当前值,则将结果变量重新赋值给结果变量。

    函数遍历数组后,将返回数组中找到的最大值。

    【讨论】:

      猜你喜欢
      • 2016-05-31
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      相关资源
      最近更新 更多