如何在JavaScript中從另一個函數接收並收集傳遞的物件?
P粉413704245
P粉413704245 2023-09-15 13:12:20
0
1
650

我有一個函數,讓我們稱之為GetData()。我從另一個函數中的查詢中獲取數據,並運行一個ajax呼叫來填充數據。一旦這個操作完成,我會將資料傳送給另一個函數,我們稱之為PlaceData()。每次透過GetData()的ajax呼叫將資料放在一個物件中。然後,我將每個物件發送到PlaceData(),我希望透過push()方法將這些物件收集到PlaceData()中的一個陣列中,但每次它只是添加一個新的數組,而不是將當前發送的對象收集起來,所以我只得到單獨的對象,而不是一個集合。我該如何讓它們收集到一個陣列中?

所以這是我正在使用的程式碼範例:

function GetData(query) {
    var json = "";
    var api_url = ('https://jsondata.site?conn={conn}&query={query}');
    $.ajax({async: false; url: api_url, method: "GET"}).done(function(data){
        json = JSON.parse(data);
    });
    PlaceData(json);
};

function PlaceData(data) {
    var objCollect = [];
    objCollect.push(data);

    console.log(objCollect);
};

我希望objCollect[]保留所有傳入的對象,但實際上我只得到一個包含每個單獨對象的新數組。

P粉413704245
P粉413704245

全部回覆(1)
P粉351138462

你需要使用全域作用域變數來儲存物件。將objCollect定義在函數外部,它現在應該保存所有的值。

var objCollect = [];

function GetData(query) {
    var json = "";
    var api_url = ('https://jsondata.site?conn={conn}&query={query}');
    $.ajax({async: false; url: api_url, method: "GET"}).done(function(data){
        json = JSON.parse(data);
    });
    PlaceData(json);
};

function PlaceData(data) {
    objCollect.push(data);
    console.log(objCollect);
};
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板