Como fazer loop através de um array contendo objetos e acessar suas propriedades

Quero percorrer os objetos contidos em uma matriz e alterar as propriedades de cada um deles. Se eu fizer isso:

for (var j = 0; j < myArray.length; j++){

console.log(myArray[j]);

}

O console deve trazer todos os objetos da matriz, certo? Mas na verdade ele só exibe o primeiro objeto. se eu console registrar o array fora do loop, todos os objetos aparecerão então lá's definitivamente mais lá dentro.

De qualquer forma, aqui'é o próximo problema. Como eu acesso, por exemplo o Object1.x no array, usando o loop?

for (var j = 0; j < myArray.length; j++){

console.log(myArray[j.x]);

}

Isto retorna "undefined." Novamente o log do console fora do loop me diz que todos os objetos têm valores para "x". Como posso aceder a estas propriedades no loop?

Eu fui recomendado em outro lugar para usar matrizes separadas para cada uma das propriedades, mas eu quero ter certeza de que I'ter esgotado esta avenida primeiro.

Obrigado!

Solução

Use forEach é uma função de array integrada. Array.forEach():

yourArray.forEach(function (arrayItem) {
    var x = arrayItem.prop1 + 2;
    console.log(x);
});
Comentários (4)
for (var j = 0; j < myArray.length; j++){
  console.log(myArray[j].x);
}
Comentários (1)

O myArray[j.x] é logicamente incorreto.

Utilize (myArray[j].x); em vez disso

for (var j = 0; j < myArray.length; j++){
  console.log(myArray[j].x);
}
Comentários (1)