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或字符数.
你正在创建一个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 );