有人可以解释这个(奇怪的)行为吗?为什么第一个例子中的长度为3而不是2,最重要的是,为什么第二个例子中的长度为0?只要键是数字的,长度就有效.如果不是,则长度为0.如何从第二个示例中获得正确的长度?谢谢.
a = [];
a["1"] = {"string1":"string","string2":"string"};
a["2"] = {"string1":"string","string2":"string"};
alert(a.length); // returns 3
b = [];
b["key1"] = {"string1":"string","string2":"string"};
b["key2"] = {"string1":"string","string2":"string"};
alert(b.length); // returns 0
Run Code Online (Sandbox Code Playgroud)