为什么数组的大小在javascript中打印为零?

Dre*_*eer 0 javascript node.js

以下代码有什么问题?为什么打印数组的大小为零?

function test() {
  var arr = [];
  for(var i = 0; i < 10; i++)
  {
    console.log('i ->' + i);
    arr.push[i];
  }
  console.log('\n' + 'array length :' + arr.length);
}
Run Code Online (Sandbox Code Playgroud)

-

输出:

i ->0
i ->1
i ->2
i ->3
i ->4
i ->5
i ->6
i ->7
i ->8
i ->9

array length :0
Run Code Online (Sandbox Code Playgroud)

-

打印为零(0)

Viv*_*ath 11

push 是一个功能.

你需要写arr.push(i)而不是arr.push[i].你在后者中所做的是指arr.push它好像是一个数组,然后尝试访问它的i下标(或假设它push是一个对象并试图访问具有相同值的属性i); 它实际上与编写单行语句一样:

someArray[i];
Run Code Online (Sandbox Code Playgroud)

哪个什么都没做.

注意:当我键入太快时,我也被这个愚蠢的虫子咬了很多次.;)