爲什麼當這個非常基本的JavaScript數組只有3個鍵/值對時,它給了我13的長度。有意義的是,它可能會認爲13是基於0的索引,而我的最後一個數組的鍵是12,但我需要有任何具有鍵/值對的數組,它們會返回正確數量的對。鑰匙需要是數字。JavaScript數組長度鍵值
編輯:這是我如何解決它的感謝。
爲什麼當這個非常基本的JavaScript數組只有3個鍵/值對時,它給了我13的長度。有意義的是,它可能會認爲13是基於0的索引,而我的最後一個數組的鍵是12,但我需要有任何具有鍵/值對的數組,它們會返回正確數量的對。鑰匙需要是數字。JavaScript數組長度鍵值
編輯:這是我如何解決它的感謝。
有array['12']
和array[12]
之間沒有diffrence(陣列['12' ]不被視爲關聯數組元素)。查找關聯數組length
那是因爲你擁有最高的數字是:
array['12'] = 'twelve';
這將創建一個13數組長度(因爲它是基於0的)。 JavaScript將擴展數組以分配它需要的點數以滿足指定的插槽。 array[0..9]
在那裏,你只是沒有放置任何東西。
length
數組的屬性返回對象的最大非負數字鍵,加上一個。這就是它的定義方式。
如果你想對鍵值對進行計數,你將不得不自己計算它們(或者通過跟蹤它們,因爲它們被添加和刪除,或者通過遍歷它們)。
或者,重新排列陣列是這樣的:
var array = [];
array.push(['10','ten']);
array.push(['11','eleven']);
array.push(['12','twelfe']);
alert(array.length);
您不能使用字符串來索引數組。 JavaScript正在將您的'12'轉換爲12 – Geoff 2010-11-02 11:29:06