从函数返回数组并将其赋值给变量

时间:2016-05-18 11:29:22

标签: javascript jquery arrays

我试图从函数返回一个对象数组并将其赋值给变量

function contactsbuilder(contacts){
    var contactsarray = [];
    parent.$(contacts).each(function(i,contact){
        contactsarray.push(somevalues);
        if(contacts.length == i+1){
            console.log("coming in here?");
            return contactsarray;
        }
    });
};

现在我尝试将其分配为

var contactsarray =contactsbuilder(customdetails.contacts);

但即使在创建控制台日志之后,contactsarray也始终保持未定义状态。我试过setTimeout但没有运气

我尝试了一个没有foreach的简单的

function sample(){
var xx= ["ss","ssdfds"];
return xx;
}
var something = sample()

现在有东西得到数组值,我的情况有什么问题?

1 个答案:

答案 0 :(得分:2)

您需要在each()回调中返回不会产生任何影响的数组。并且没有任何内容从contactsbuilder函数返回,因此将return语句移到外面。

function contactsbuilder(contacts){
    var contactsarray = [];
    parent.$(contacts).each(function(i,contact){
        contactsarray.push(somevalues);
        if(contacts.length == i+1){
            console.log("coming in here?");
        }
    });
    return contactsarray;// return the array
};