オブジェクトの配列を使用してキャンバス内のアイテムをランダムに印刷しています。各オブジェクトは異なるランダムな色を持つ必要がありますが、すべてのオブジェクトが同じコードを取得するように記述しています。オブジェクト内で関数を実行
var arrayOfObjects = [
{x: 1, y: 5, r: 10, color: pickColor}, //gets random color
{x: 2, y: 6, r: 10, color: pickColor} // should get a different color
//and so on...
];
私は彼らがすべて異なる色を得るように、各オブジェクトの内部で実行される機能をpickColor
変数を交換しようとしたが、私は私の色の配列内の色を選択するために、この値を使用するように見えることはできません。
これは明らかに動作しません:
{x: 1, y: 5, r: 10, color: colorList[parseInt(Math.random() * colorList.length)]},
編集:このコードは動作しますが、問題は、デバッグツールでありませんヒントを明らかに無関係な行から来ました。あなたの答え
実際にはうまくいくはずです。どうしてそんなことをしなかったと思う? – Bergi
あなたのフィーリングに関して、[配列の 'for ... in'列挙体を使わないでください](https://stackoverflow.com/q/500504/1048572)! – Bergi
'color:pickMeAColor()'のような解決策が良いかもしれませんが、うまくいくはずです... –