从作为参数传递的变量中删除引号

Removing quotes from a variable passed as an argument

我有一个名为 color 的变量,它是一个 HSL 值,我试图将它传递给一个函数,该函数通常采用一系列数字作为 HSL 值。

这行不通:

var color = "210,50,50";
stroke(color);

这确实有效:

stroke(210,50,50);

我尝试了一堆字符串替换函数,例如:

stroke(color.replace(/\"/g,""))

什么给了?

该字符串是单个值。 stroke() 函数需要 3 个单独的值。

您可以使用 split() 函数将字符串拆分为单个数字。像这样:

var color = "210,50,50";
var colorArray = split(color, ",");
var red = colorArray[0];
var green = colorArray[1];
var blue = colorArray[2];
stroke(red, green, blue);

可以在 the reference 中找到更多信息。

实际上,robstarbuck 指出 stroke() 函数也将数组作为参数,因此您甚至可以这样做:

var color = "210,50,50";
var colorArray = split(color, ",");
stroke(colorArray);

最好将您的值定义为数组并将其传递给 stroke as your one argument (see docs)。

var color = [210, 50, 50]
stroke(color)

See Example