配列に含まれるオブジェクトを循環的に処理し、それぞれのプロパティを変更したいとします。次のようにします。
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」の値があることが再度表示されます。ループ内でこれらのプロパティにアクセスするにはどうすればよいでしょうか。
他の場所では、各プロパティに個別の配列を使用することが推奨されていましたが、まずはこの方法を試したことを確認したいと思います。
ありがとう!
ベストアンサー1
組み込みの配列関数である forEach を使用します。Array.forEach()
:
yourArray.forEach(function (arrayItem) {
var x = arrayItem.prop1 + 2;
console.log(x);
});