如果一个函数中有一个数组,并且我想从这个数组中取出一个值,取决于它是否存在,我将如何使用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
}
所以我需要的唯一帮助是如何从id
函数中带来这个grabID
字符串。评论的部分是我需要帮助的部分。
我希望这段代码有助于解释我正在寻找的内容。我知道我可能已经编写了不必要的函数或代码行,但这就是我现在想到的方式。函数updateData
最初不仅用于抓取一个id
(具有值的id
)。这就是为什么我创建了另一个名为grabID
的函数。
答案 0 :(得分:0)
尝试从drawGraph
功能中调用grabID
,就像这样。使用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
}
答案 1 :(得分:0)
您可以调用grabID函数并在其中返回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
}