1. ホーム
  2. javascript

[解決済み] オブジェクトを含む配列をループして、そのプロパティにアクセスする方法

2022-03-12 17:04:07

質問

配列に含まれるオブジェクトを循環させて、それぞれのプロパティを変更したいのですが、どうすればいいですか?このようにすると

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

console.log(myArray[j]);

}

コンソールは、配列内のすべてのオブジェクトを表示するはずですよね?しかし、実際には最初のオブジェクトしか表示されません。ループの外側で配列をコンソールログに記録すると、すべてのオブジェクトが表示されるので、そこにはもっと多くのオブジェクトがあるはずです。

ともかく、次の問題です。ループを使って、例えば配列の中のObject1.xにアクセスするにはどうすればいいのでしょうか?

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

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

}

これは "undefined." を返します。繰り返しますが、ループ外のコンソールログは、オブジェクトがすべて "x" の値を持っていることを教えてくれます。ループの中でこれらのプロパティにアクセスするにはどうすればよいのでしょうか?

各プロパティに別々の配列を使用することを他の場所で勧められましたが、まずこの方法を使い尽くしたことを確認したいと思います。

ありがとうございました。

解決方法は?

組み込みの配列関数であるforEachを使用します。 Array.forEach() :

yourArray.forEach(function (arrayItem) {
    var x = arrayItem.prop1 + 2;
    console.log(x);
});