如何从函数中获取变量?具体是一个数组

How to grab variables from a function ? Specifically an array

如果函数中有一个数组,我想从这个数组中获取一个值,这取决于它是否存在,我该如何使用 JavaScript?

为了更好地解释这个问题,请看下面的代码。 . .

如果我们有一个函数:

function updateData(dataObj) {
    for (var i = 0; i < dataObj.length; i++) {
        var id = dataObj[i]['id'];
    }

    grabID(dataObj);
}

我试图获取任何有值的 id,所以我创建了函数 grabID:

function grabID(dataObj) {
    for (var i=0; i< dataObj.length; i++) {
        var id = dataObj[i]['id'];
        if (typeof(id) == 'string') {
            //take that id and use it in the function below this one
        }
        else {
            continue;
        }       
    }      
}

现在这是我要放置 id 的函数,因此我可以绘制图形:

function drawGraph() {
    var id = //the id grabbed in the grabID function
             //use this id for drawing purposes
}

所以我唯一需要的帮助是如何从 grabID 函数中获取这个 id 字符串。评论的部分是我需要帮助的部分。

我希望这段代码有助于准确解释我正在寻找的内容。我知道我可能写了不必要的函数或代码行,但这就是我现在脑子里想的方式。函数updateData最初并不是只用来抓取一个id(有值的id)。这就是为什么我创建了另一个函数 grabID.

尝试从 grabID 函数中调用 drawGraph,就像这样。使用 id 变量作为 drawGraph.

的参数
function grabID(dataObj) {
    for(var i=0; i< dataObj.length; i++){
        var id = dataObj[i]['id'];
        if(typeof(id) == 'string')
            drawGraph(id)
        else
            continue;
        }     
    }
}      

function drawGraph()
{
      var id = //the id grabbed in the grabID function
      //use this id for drawing purposes

}

您可以调用 grabID 函数并在其中 return ID,然后将调用结果传递给 drawGraph 函数:

function grabID(dataObj) {
          for(var i=0; i< dataObj.length; i++)
          {
              var id = dataObj[i]['id'];
              if(typeof(id) == 'string')
                   //take that id and use it in the function below this one
                   return id;
              else
                   continue;
          }
    // return null if no ID was retrieved
    return null;     
}

function updateData(dataObj) {
    for (var i = 0; i < dataObj.length; i++) {
       var id = dataObj[i]['id'];
    }
    var id = grabID(dataObj);
    if(id !== null) drawGraph(id);
}

function drawGraph(grabbedId)
{
    var id = grabbedId; //the id grabbed in the grabID function
    //use this id for drawing purposes
}