繁体   English   中英

带方括号的 JavaScript For 循环

[英]JavaScript For loop with square brackets

我了解 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从对象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的数组名称。 names[0]将返回sarah

您的 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++

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM