2017-05-23 6 views
0

Ich versuche, ein Array mit einer Anzahl von vom Benutzer angegebenen Elementen aufzufüllen. Ich mache das mit einem Eingabeaufforderungsfenster. Der Code wird jedoch nicht ausgeführt, und ich erhalte einen Fehler in Zeile 9:javascript: kann Eigenschaft 'push' von undefined nicht lesen

Uncaught TypeError: Kann die Eigenschaft 'push' von undefined bei fillArrayWithNumberOfElements (Zeile 9) nicht lesen.

Ich suchte online nach einer Antwort, aber sie alle weisen darauf hin, dass das Array nicht richtig deklariert ist, während ich mir ziemlich sicher bin.

Jede Hilfe wird geschätzt, danke im Voraus!

var emptyArray = []; 

function askInput() { 
    return (prompt("Please enter a number: ")); 
} 

function fillArrayWithANumberOfElements(array, numberOfElements){ 
    for(var i = 0; i < numberOfElements; i++){ 
     array[i].push(askInput()); 
    } 
    return array; 
} 

fillArrayWithANumberOfElements(emptyArray, 5); 
+2

Array [i] ist kein Array, daher ist keine Push-Methode definiert. – James

Antwort

3

In fillArrayWithANumberOfElements, array ist das Array nicht array[i]. So schieben, benutzen Sie einfach

array.push(askInput()); 

nicht

// Not this 
array[i].push(askInput()); 

Alternativ, wenn Sie möchten, verwenden Sie Zuordnung:

array[i] = askInput(); 
0

push ist eine Funktion zum Prototyp des Typs array angebracht. Sie greifen auf ein bestimmtes Element innerhalb des Arrays zu.

Verwandte Themen