Javascript chrome错误中的数组长度

r1s*_*1si 0 javascript google-chrome

我在chrome中使用js控制台时遇到一个非常奇怪的问题,如果我进入chrome控制台并编写:

var numero = new Array(["/php/.svn/tmp", "/php/.svn/props"]);
Run Code Online (Sandbox Code Playgroud)

返回我"undefined"所以​​我认为numero是一个包含2个元素的数组,但如果我写:

numero
Run Code Online (Sandbox Code Playgroud)

收益:

[Array[2]]
Run Code Online (Sandbox Code Playgroud)

numero.length
Run Code Online (Sandbox Code Playgroud)

并返回1 .....为什么?不要回2 ??? 我哪里做错了?我能给出一个返回2的方法吗?提前致谢

编辑:我会解释我的问题.我有一个函数,当我选择2项时返回这个:

myFolders.getSelected()
["/php/.svn", "/php/upload.php"]
Run Code Online (Sandbox Code Playgroud)

这个当选择一个项目时:

myFolders.getSelected()
"/php/upload.php"
Run Code Online (Sandbox Code Playgroud)

你注意到第二个不是一个数组.

现在我使用此方法激活更改所选项目计算全局变量:

function calcoloNumeroElementi(){
    var numero = new Array(myFolders.getSelected());
    numeroElementiSelezionati = numero[0].length;
}
Run Code Online (Sandbox Code Playgroud)

但是当我只选择一个项目时,返回总是1或字符数.

Ric*_*ann 6

你正在创建一个array内部其他array,这就是它返回1的原因.

console.log( numero[0].length ); // 2
Run Code Online (Sandbox Code Playgroud)

所以它应该是:

var numero = ["/php/.svn/tmp", "/php/.svn/props"];
Run Code Online (Sandbox Code Playgroud)

要么

var numero = new Array("/php/.svn/tmp", "/php/.svn/props"); // without `[` and `]`
Run Code Online (Sandbox Code Playgroud)

然后用 console.log( numero.length );