我试图从函数返回一个对象数组并将其赋值给变量
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()
现在有东西得到数组值,我的情况有什么问题?
答案 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
};