我需要从使用2 for循环和if语句的函数中返回一个值
function getTextColor(context) {
var selection = context.selection;
for(var i = 0; i < selection.count(); i++){
var layer = selection[i];
const attr = layer.CSSAttributes()
const regex = /#\w{6}/
for (let i = 0; i < attr.length; i++){
let color = attr[i].match(regex)
if (color)
return color[0] // I need to return this value from my function
}
}
}
答案 0 :(得分:0)
您可以为此使用辅助变量。因此,在所有循环之后,您可以发送值以返回。但是请记住,您的函数可以返回一个null
值。
function getTextColor(context) {
let aux = null;
const selection = context.selection;
for (let i = 0; i < selection.count(); i++) {
const layer = selection[i];
const attr = layer.CSSAttributes();
const regex = /#\w{6}/;
for (let i = 0; i < attr.length; i++) {
let color = attr[i].match(regex);
if (color)
aux = color[0];
}
}
return aux;
}
答案 1 :(得分:-4)
您可以在初始化变量时简单地调用该函数。在这种情况下,变量color将保留函数返回的颜色。
var color = getTextColor(context);
function getTextColor(context) {
var selection = context.selection;
for(var i = 0; i < selection.count(); i++){
var layer = selection[i];
const attr = layer.CSSAttributes()
const regex = /#\w{6}/
for (let i = 0; i < attr.length; i++){
let color = attr[i].match(regex)
if (color)
return color[0] // I need to return this value from my function
}
}
}