JavaScript array-push funktioniert nicht

Ich bin versucht, einen Wert in ein array und es ist mir dieser Fehler in der Entwickler-tools.

Uncaught TypeError: Cannot read property 'push' von null

Hier ist der code, der es zu sein scheint, kleben, Wort und lokalen word definiert wurden früher wie dieser.

var word = [];
var localWord = []; 

function setLocalArray() {
    //first get words from text field and update word array.
    word = document.getElementById("words").value.split(',');

    //store word array in localStorage            
    for(var i=0; word.length > i; i++) {
        var key2 = "part"+i;
        localStorage.setItem(key2,word[i]);
        localWord.push(key2);
    }

    localStorage.setItem("localWord",JSON.stringify(localWord));
    text2Array();
    reveal();
}

localWord.push(key2); zu sein Scheint, was es ist, stecken. Ich habe alles angeschaut, die ich finden kann auf die push-Methode, und ich kann nicht scheinen, um herauszufinden, warum es gibt mir diese Fehlermeldung. Hilfe?

Hier ist der vollständige code auf jsfiddle http://jsfiddle.net/runningman24/jnLtpb6y/

  • localWord wurde geändert in null irgendwie. Gibt es irgendetwas, irgendwo, dass eine Neuzuordnung localWord?
  • whats goin on in text2Array und zeigen?
  • ist die localWord array definiert, in einer onload-oder Dokument.bereit blockieren?
  • in javascript sind nicht das erstellen von globalen Variablen wie var Wort = []; var localWord = []; eine andere Funktion, die auch in der Lage, Sie zu aktualisieren.
  • Meine Kristallkugel sagt mir, dass Sie localWord = JSON.parse(localStorage.getItem("localWord")) irgendwo in deinem code, und das ist, warum localWord null ist. Bitte zeigen Sie uns alle relevanten code, wenn Sie eine Frage stellen.
  • Hier ist der vollständige code. Danke für all die tollen Kommentare. jsfiddle.net/runningman24/jnLtpb6y
  • Hier ist noch ein toller Kommentar: Versuchen Sie es schwerer zu finden, das problem in Ihrem code, bevor eine Pauschale Aussage wie "Javascript-array push funktioniert nicht" ist sicherlich nie der Fall sein wird.

InformationsquelleAutor urock24 | 2014-12-17
Schreibe einen Kommentar