How can I get the length of the string, 3 in this case?
k = [['a'], ['ab'], ['abc']];
alert(k[2].length);
The above code fragment returns 1.
How can I get the length of the string, 3 in this case?
javascript
arrays
Share
Improve this question
asked Aug 14, 2012 at 21:56
user1541722user15417223911 gold badge22 silver badges44 bronze badges2
2You have an array of arrays... is that really what you want? Why don't you just do console.log(k[2]) and see what k[2] is?
– Felix Kling
CommentedAug 14, 2012 at 21:58
Maybe a reading a Javascript Array Tutorial will help.
– BryanH
CommentedAug 15, 2012 at 5:43
Add a ment
|
2 Answers
2
Reset to default
9
The object is not what is expected. Consider:
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)
In your example, k is not a normal array containing strings. It contains sub-arrays, which contain the strings. You should declare k this way:
k = ['a', 'ab', 'abc'];
If you do want to use your own declaration, you could do this: