带有方括号的JavaScript For循环

时间:2015-11-10 12:50:59

标签: javascript

我理解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]以及为什么它是方括号?

4 个答案:

答案 0 :(得分:5)

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

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

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

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

答案 1 :(得分:1)

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

假设你有一个像这样的字符串数组:

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

并且您想要访问其中一个数组的元素,您可以:

console.log(arr[5]); // prints "strings" to the console

答案 2 :(得分:1)

[i]用于处理例如数组中的变量。

假设您有一个包含sarahjohn的数组名称。 names[0]会返回sarah

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

答案 3 :(得分:0)

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