2017-08-21 50 views
-5

我做了以下內容:如何用計數器創建數組?

var myElement; 
var countElement = 0; 
function wikiParsed(langPrefixElement) { 
    countElement++; 
    myElement[countElement] = { 

,但我得到:

Uncaught TypeError: Cannot set property '1' of undefined

我想實現:

myElement[1] 
myElement[2] 
myElement[3] 

也試過:

var myElement; 
var countElement = 0; 
function wikiParsed(langPrefixElement, countElement) { 
    countElement++; 
    myElement[countElement] = { 

但我得到:

Uncaught TypeError: Cannot set property 'NaN' of undefined

+0

哪裏是你的代碼的其餘部分?在您提供的內容的那一刻,我們無法複製該問題。 – George

+0

1.您在哪裏定義'myElement'作爲數組? 2.使用'推()' –

+0

這似乎是你已經宣佈你還沒有定義的關聯數組。你定義了數組嗎? –

回答

1

您聲明myElement,但它只是空。在你的函數中,試圖設置一個null變量的索引將不會做任何事情。此外,您應該在使用該值之後遞增,否則您錯過了第0個元素。

var myElement = []; 
 
var countElement = 0; 
 

 
function wikiParsed(langPrefixElement) { 
 
    myElement[countElement++] = countElement; 
 
} 
 
wikiParsed(); 
 
wikiParsed(); 
 
wikiParsed(); 
 
console.log(myElement);

+0

是一個錯字,更新的問題,問題仍然 –

+0

如果問題仍然是你必須在你的代碼中的其他地方有一個問題,因爲這工作正常 - 從工作片段可以看出。 –

+0

一個任務:爲什麼您使用'myElement [countElement ++] = countElement;'代替'countElement ++; myElement [countElement];'? –

0

看起來你正在嘗試使用關聯數組。像這樣定義它

var myElement = {}; 

//Sample loop 
for (var i = 0; i < 100; i++) { 
    myElement[i] = i; 
}