猿问

将 2 个 api 响应的结果合并到一个数组中 javascript

我有两个不同的 api 响应要组合。第一个 api 响应如下所示


"Data1":[ 

   {

    "name": "First Officer",

    "status": "ACTIVE",

    "id": "111"

   },

   {

     "name": "Second Officer",

     "status": "DELETED",

     "id": "222"

   },

   {

     "name": "Third Officer",

     "status": "ACTIVE",

     "id": "333"

   }

 ],

 Data2[],

 Data3[]

第二个响应是获取该官员的最新职位,如下所示


 [

   {

    "id": "111",

    "latest_position": "Elm Street"

   },

   {

     "id": "333",

     "latest_position": "Newton Sr. Street"

   }

 ]

我需要将来自上面 API 的两个响应组合成这样的一个数组


["111","First Officer","Elm Street"]

["333", "Third Officer","Newton Sr. Street"]

但我得到的是像这样的数据


 ["333","Third Officer","Elm Street"]

 ["333", "Third Officer","Newton Sr. Street"]

你知道我下面的代码的错误在哪里吗


$.ajax({

    url: api_url+'search?keyword='+keyword,

    type: 'GET',

    success: function(response) {

        //console.log(response);

        var keys = Object.keys(response.data);

        for (var i = 0; i < keys.length; i++) {

            var data = response.data[keys[i]]

            for (var j = 0; j < data.length; j++) {

                var name = data[j].name;

                var sid = data[j].id;

            $.ajax({

                    url: api_url+'positions?filter=%7B%22where%22%3A%7B%22user_id'+sid,

                    type: 'GET',

                    success: function(response2) {

                        //console.log(response);

                        for (var i = 0; i < response2.length; i++) {

                            var loc = response2[i].latest_position;

                            var obj = {

                                'id' : sid,

                                'name' : name,

                                'loc' : loc,


                            };


                            arrObj.push(obj);


                        }

                    }

                })

            }

        }



        console.log(arrObj);


三国纷争
浏览 257回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答