0
k = [['a'], ['ab'], ['abc']];
alert(k[2].length);

上面的代码片段返回 1。

如何获得字符串的长度,在这种情况下为 3?

4

2 回答 2

7

对象不是预期的。考虑:

k = [['a'], ['ab'], ['abc']];
a = k[2]    // -> ['abc']
a.length    // -> 1 (length of array)
b = k[2][0] // -> 'abc'
b.length    // -> 3 (length of string)
于 2012-08-14T21:58:09.037 回答
2

在您的示例中,k不是包含字符串的普通数组。它包含包含字符串的子数组。你应该k这样声明:

k = ['a', 'ab', 'abc'];

如果您确实想使用自己的声明,可以这样做:

alert(k[2][0].length);​
于 2012-08-14T21:59:08.400 回答