如何从函数返回值?

时间:2018-08-17 14:10:29

标签: javascript

我需要从使用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


    }

  }

}

2 个答案:

答案 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
    }
  }
}