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 に答える