有人可以解释这种(奇怪的)行为吗?为什么第一个例子中的长度是 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