Estoy tratando de empujar a un valor en una matriz y se me está dando este error en las herramientas de desarrollo.

Uncaught TypeError: No se puede leer la propiedad de ‘empuje’ de null

Aquí está el código que parece estar pegado en, palabra y local palabra fueron definidos anteriormente como este.

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(clave2); Parece ser lo que está pegado en. He mirado todo lo que puede encontrar en el método push y me parece que no puede encontrar por qué me está dando este error. Ayuda?

Aquí está el código completo en jsfiddle http://jsfiddle.net/runningman24/jnLtpb6y/

  • localWord se cambió a null de alguna manera. Es allí cualquier cosa, en cualquier lugar que reasigna localWord?
  • whats goin on en text2Array y revelar?
  • es el localWord matriz definida dentro de un onload o documento.listo el bloque?
  • en javascript no crear una variable global como var word = []; var localWord = []; alguna otra función también podrá actualizarla.
  • Mi bola de cristal me dice que tiene localWord = JSON.parse(localStorage.getItem("localWord")) alguna parte del código y que es la razón por la localWord es nulo. Por favor mostrarnos todo el código correspondiente al publicar una pregunta.
  • Aquí está el código completo. Gracias por todos los buenos comentarios. jsfiddle.net/runningman24/jnLtpb6y
  • He aquí otro gran comentario: esforzarse más para encontrar el problema dentro de su código antes de hacer un barrido de la declaración como «array de Javascript empuje no de trabajo», que es casi seguro que nunca va a ser el caso.

InformationsquelleAutor urock24 | 2014-12-17

3 Comentarios

  1. 1

    Probar esto…

    var localWord = new Array(); //create new array
    var word = new Array();
    
    function setLocalArray() {
        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);
        }
    }
  2. 1

    He encontrado el problema, si se mira en el jsfiddle que he publicado yo estoy tratando de sacar localWord de localStorage a pesar de que no existe y así se establece en null. Gracias a todos por las ideas y contribuciones.

  3. 0

    Usted podría tratar de aislar el ámbito de la variable uso de la el patrón del módulo de:

    var arrayManager =  (function () {
            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();
            }
    
           return {
              setLocalArray:setLocalArray
            } ;
        }());

    y desde el exterior, sólo tienes que llamar arrayManager.setLocalArray()

Dejar respuesta

Please enter your comment!
Please enter your name here