如何在for循环中调用函数?

时间:2015-03-01 13:27:21

标签: javascript node.js for-loop meteor invoke

如何在for循环函数中调用? 截至目前,返回的singleObject将显示为undefined

我想要达到的目的如下。

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

  2. 将此对象传递给另一个函数并进一步处理。我是否'返回'下一个功能。我很困惑如何在这个for循环中调用函数内的函数。


  3. 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)
    }
    

2 个答案:

答案 0 :(得分:0)

您必须在循环之前初始化singleObject。在您的示例中,其范围是循环体。

答案 1 :(得分:0)

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

如果存在数组长度,您在singleObject仅定义的函数中也存在问题。这可能是您在下一个函数

中看到未定义的原因

但最重要的是,你的循环会在每次迭代时覆盖singleObject,所以即使你的数据确实存在,你也只会将singleObject的最后一次迭代传递给myNextFUnction

请向createObjectFromArray()显示您的联系方式以获取进一步的帮助