如何在for循环中调用函数

How do I invoke a function within a for loop?

本文关键字:调用 函数 循环 for      更新时间:2023-09-26

如何在for循环函数中调用?截至目前,返回的singleObjectundefined的形式出现。

我正在努力实现以下目标。

  1. 从每次迭代创建我的对象

  2. 将此对象传递到另一个函数并进行进一步处理。我是否"返回"下一个函数。我对如何在for循环中调用函数中的函数感到困惑。


function createObjectFromArray(array) { // data is an array with multiple object
    var len = array.length
    for (var i=0; i<len; i++) {
        var singleObject = {
            fieldOne: array[i].someField.valueOne,
            fieldTwo: array[i].someField.valueTwo
        }
    } //end of for loop
    myNextFUnction(singleObject)
}

您必须在循环之前初始化singleObject。在您的示例中,它的作用域是循环体。

我建议您在某个异步方法返回数据数组之前调用createObjectFromArray()。很可能array为空或未定义,从而导致

函数中也有一个问题,只有在有数组长度的情况下才能定义singleObject。这可能就是你在下一个函数中看到它未定义的原因

但最重要的是,您的循环在每次迭代中都会覆盖singleObject,因此即使您的数据确实存在,您也只能将singleObject的最后一次迭代传递给myNextFUnction

请显示您致电createObjectFromArray()寻求进一步帮助的位置