javascript array.push返回未定义的

javascript array.push返回未定义的,javascript,arrays,object,Javascript,Arrays,Object,所以我不断地添加到一个数组中,并推送工作,但所发生的是我在数组中得到了许多未定义的对象。我一直试图推送的对象在我单独使用它时效果很好,但是当我试图将它放入数组时,我没有定义它 function multiCalc() { primeList = []; for (var i = 0; i < (iterations * 2); i += 2) { isPrime = true; var itTest = bigInt(test).add(i)

所以我不断地添加到一个数组中,并推送工作,但所发生的是我在数组中得到了许多未定义的对象。我一直试图推送的对象在我单独使用它时效果很好,但是当我试图将它放入数组时,我没有定义它

function multiCalc() {
    primeList = [];
    for (var i = 0; i < (iterations * 2); i += 2) {
        isPrime = true;
        var itTest = bigInt(test).add(i);

        for (var j = bigInt(itTest.divide(2).add(1)); j.compare(2) == 1; j = j.minus(1)) {
            if ((test.mod(j)) == 0) {
                isPrime = false;
            }
        }
        primeList.push({
            "prime_number": {
                "testNumber": itTest.toString(),
                "isPrime": isPrime,
                "wasTested": true
            }
        });

    }
    sendPrime(primeList, multiUrl);
}

好吧,我知道了。数组没有通过ajax发送。我对数据进行了字符串化,然后添加了
contentType:'application/json',
行,以便rails知道它正在接收json

function sendPrime(primeData, path){ 
    if(stop == false){
        console.log(primeData);
    $.ajax({
        url: path,
        type: 'post',
        async: true,
        dataType: 'json',
        contentType: 'application/json',
        success: function (data) {
        test = bigInt(data.testNumber);
        console.log(test);
        multiCalc();
        // calc();
        },
        data: JSON.stringify(primeData)
    });
}

问题是在
sendPrime()
函数中看到未定义的值时没有显示?如果您不演示如何使用阵列,我们将无法帮助您。如果在外部
for
循环之后添加
console.log(primeList)
会得到什么?multiCalc看起来不错。问题可能出在sendPrime函数中…?关于
iterations
变量的值呢?至少您已经解决了:)
function sendPrime(primeData, path){ 
    if(stop == false){
        console.log(primeData);
    $.ajax({
        url: path,
        type: 'post',
        async: true,
        dataType: 'json',
        contentType: 'application/json',
        success: function (data) {
        test = bigInt(data.testNumber);
        console.log(test);
        multiCalc();
        // calc();
        },
        data: JSON.stringify(primeData)
    });
}