带有方括号的JavaScript For循环

JavaScript For loop with square brackets

本文关键字:For 循环 JavaScript 方括号      更新时间:2023-09-26

我了解JavaScript中For循环的基本结构。我看到了以下例子:

function howMany(selectObject) {
  var numberSelected = 0;
  for (var i = 0; i < selectObject.options.length; i++) {
    if (selectObject.options[i].selected) {
      numberSelected++;
    }
  }
  return numberSelected;
}

在第四条线上,我不明白你会怎么称呼术语中的[i],为什么它是方括号?

[]是一种从给定特定key的对象中选择属性的方法,在这种情况下,键(或index)是i,对象是array。在数组中,索引可以从0到数组的长度-1。

在对象中,键是该对象中任何属性的名称。例如,还可以使用以下命令从对象selectObject.options[i]中选择属性关键字selected的值:selectedObject.options[i]['selected']

作为for loop的替代方案,您可以使用for in loop。它适用于对象(和数组)。

for (var key in selectObject.options) {
    if (selectObject.options[key].selected) {
        numberSelected++;
    }
} 

[i]用于寻址例如数组中的变量。

假设您有一个包含sarahjohn的数组名称。则CCD_ 15将返回CCD_。

for循环所做的是遍历selectObject.options中的所有条目,并查看selected的值(很可能是true/false)。

selectObject.options返回一个array,而[ ]是使用数组的索引(在您的情况下是i)从数组中获取元素的方法

假设你有一个字符串数组,如下所示:

var arr = ["this", "is", "an", "array", "of", "strings"];

如果你想访问数组的一个元素,你可以:

console.log(arr[5]); // prints "strings" to the console
function howMany(selectObject) {
  var numberSelected = 0;
  for (var i = 0; i < selectObject.options.length; i++) {
    if (selectObject.options[i].selected) {
      numberSelected++;
    }
  }
  return numberSelected;
}
In this above code why is numberSelected, and in the coditional statement numberSelected++