Tengo una gran cantidad de datos almacenados en una matriz asociativa.

array = {'key':'value'};

Cómo bucle a través de una matriz como esta el uso de una normal en bucle y no un bucle como aquí:
http://jsfiddle.net/HzLhe/

No quiero utilizar para-a causa de este problema:
Mootools cuando se utiliza Para(…en la serie) problema

  • ¿Por qué no te gusta for .. in bucle?
  • ¿por qué no usar el bucle for..in ..?
  • Es jugar con Mototools! stackoverflow.com/questions/7034837/…
  • eso es porque usted tiene que utilizar el .hasOwnProperty método para filtrar el prototipo de las cadenas de propiedades
  • Utiliza objeto y no de la matriz. Estos elementos son diferentes en JavaScript. for .. in bucle es la mejor manera de recorrer los objetos.
  • Sé que es el mejor, pero tengo que usar una forma diferente. Es posible?
  • Usted dijo que usted no desea utilizar porque hay una mootools problema. La mootools problema es sólo para matrices (que nunca se debe iterar con for..in, para empezar), no para la llanura de los objetos.

InformationsquelleAutor Jacob | 2013-04-04

2 Comentarios

  1. 8

    Como otros han señalado, no se trata de una matriz. Este es un objeto de JavaScript. Para iterar a través de él, usted tendrá que utilizar el…en el bucle. Pero para filtrar las otras propiedades, que la enfermedad tiene para el uso hasOwnProperty.

    Ejemplo:

    var obj={'key1': 'value1','key2':'value2'};
    
    for (var index in obj) {
        if (!obj.hasOwnProperty(index)) {
            continue;
        }
        console.log(index);
        console.log(obj[index]);
    }

    http://jsfiddle.net/jeffshaver/HzLhe/3/

  2. 3

    JavaScript no tiene el concepto de matrices asociativas. En lugar de simplemente tener un objeto con propiedades enumerables, a fin de utilizar un bucle for..in para iterar a través de ellos. Como se indicó anteriormente puede que también desee realizar una comprobación con hasOwnProperty para asegurarse de que usted no está realizando operaciones en las propiedades heredadas.

    for (var prop in obj){
        if (obj.hasOwnProperty(prop)){
            console.log(obj[prop]);
        }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here