Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从函数返回数组并将其赋给变量_Javascript_Jquery_Arrays - Fatal编程技术网

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

Javascript 从函数返回数组并将其赋给变量,javascript,jquery,arrays,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 h

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

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
始终保持未定义状态。我试过了,但运气不好

我试了一个简单的,没有费吹灰之力的

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

现在有些东西得到了数组值,在我的例子中有什么问题

您需要返回
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
};

您需要在
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
};

谢谢,如果它有大约1000个值,它不会返回空数组吗?或者当我想进行一些ajax调用并返回值时?@vignesh:ajax是异步的,它可能随时都会完成。例如,如果我想在$()中进行一些ajax调用,我就找不到你。每个都会在ajax调用返回一些值之前返回contactsarray吗?@vignesh:ajax是异步的。。。。该函数不会等待ajax执行ajax ji,如果我要在该函数中使用ajax调用并根据其结果返回值,我该怎么办?谢谢,如果它有大约1000个值,它不会返回空数组吗?或者当我想进行一些ajax调用并返回值时?@vignesh:ajax是异步的,它可能随时都会完成。例如,如果我想在$()中进行一些ajax调用,我就找不到你。每个都会在ajax调用返回一些值之前返回contactsarray吗?@vignesh:ajax是异步的。。。。该函数不会等待ajax执行ajax ji,如果我要在该函数中使用ajax调用并根据其结果返回值,该怎么办?parent.$(contacts)`应该是什么意思?它只是对象数组$(somearray)的一个for-each。每个对象都应该是'parent.$(contacts)`意思是?对于对象数组$(somearray),它只是一个for-each