Ich verwende ein Array von Objekten, um Elemente in einem Canvas zu drucken. Jedes Objekt sollte eine andere zufällige Farbe haben, aber die Art, wie ich den Code geschrieben habe, erhält jedes Objekt.Funktion innerhalb des Objekts ausführen
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...
];
Ich versuchte, die pickColor
Variable mit einer Funktion zu ersetzen, in jedem Objekt ausgeführt werden, so dass sie alle eine andere Farbe bekommen, aber ich kann nicht scheinen, um diesen Wert zu verwenden, um eine Farbe in meiner Farbe des Arrays zu holen . das Problem kam aus einer scheinbar unzusammenhängenden Linie ohne Hinweise in Debugging-Tool Dieser Code funktioniert,:
funktioniert das natürlich nicht:
{x: 1, y: 5, r: 10, color: colorList[parseInt(Math.random() * colorList.length)]},
EDIT. Vielen Dank für Ihre Antworten
Eigentlich sollte das funktionieren. Warum denkst du es nicht? – Bergi
In Bezug auf Ihre Geige, [nicht für ... in' Aufzählungen auf Arrays] (https://stackoverflow.com/q/500504/1048572)! – Bergi
eine Lösung wie 'color: pickMeAColor()' wäre besser, aber ja, es sollte funktionieren ... –