Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
想要从另一个多个数组对象中获得一个json数组对象,以便使用JavaScript使用API_Javascript_Arrays_Api_Express_Object - Fatal编程技术网

想要从另一个多个数组对象中获得一个json数组对象,以便使用JavaScript使用API

想要从另一个多个数组对象中获得一个json数组对象,以便使用JavaScript使用API,javascript,arrays,api,express,object,Javascript,Arrays,Api,Express,Object,1。下面是来自另一个API的json数据。它在单独的数组对象中显示国家和国旗 { "data": [ { "service": "Tourist Visa", "service_id": 2, "country_id": 2, "coun

1。下面是来自另一个API的json数据。它在单独的数组对象中显示国家和国旗

{
"data": [
            {
                "service": "Tourist Visa",
                "service_id": 2,
                "country_id": 2,
                "country_name": "Australia",
                "country_flag": "https://getset-visa.s3.amazonaws.com/images/flag/australia-flag.JPG"
            },
            {
                "service": "Tourist Visa",
                "service_id": 2,
                "country_id": 1,
                "country_name": "India",
                "country_flag": "https://getset-visa.s3.amazonaws.com/images/countries/Indian-Flag.png"
            },
            {
                "service": "Visa Services",
                "service_id": 3,
                "country_id": 1,
                "country_name": "India",
                "country_flag": "https://getset-visa.s3.amazonaws.com/images/countries/Indian-Flag.png"
            }
        ]
}
2。我想将其转换为如下所示,使用JavaScript在API中消费。类似于一个数组中的一个国家数据和另一个单独数组对象中的另一个国家数据,以及国家、国旗和服务数组

{
  "data": [
    {
      "countryName": "Australia",
      "countryFlag": "https://getset-visa.s3.amazonaws.com/images/flag/australia-flag.JPG",
      "services": [
        {
          "serviceName": "Tourist Visa"
        }
      ]
    },
    {
      "countryName": "India",
      "countryFlag": "https://getset-visa.s3.amazonaws.com/images/countries/Indian-Flag.png",
      "services": [
        {
          "serviceName": "Visa Services"
        },
        {
          "serviceName": "Tourist Visa"
        }
      ]
    }
  ]
}
非常感谢您的帮助。

您可以使用
Array#reduce
Map
const响应={
数据:[
{
服务:“旅游签证”,
服务编号:2,
国家编号:2,
国家名称:“澳大利亚”,
国旗:
"https://getset-visa.s3.amazonaws.com/images/flag/australia-flag.JPG",
},
{
服务:“旅游签证”,
服务编号:2,
国家编号:1,
国家名称:“印度”,
国旗:
"https://getset-visa.s3.amazonaws.com/images/countries/Indian-Flag.png",
},
{
服务:“签证服务”,
服务编号:3,
国家编号:1,
国家名称:“印度”,
国旗:
"https://getset-visa.s3.amazonaws.com/images/countries/Indian-Flag.png",
},
],
};
常量输出=数组.from(response.data.reduce(
(m,{country\u id:id,country\u name:countryName,country\u flag:countryFlag,service:serviceName})=>(
m、 民政事务总署(id)
?m.get(id).services.push({serviceName})
:m.set(id,{countryName,countryFlag,services:[{serviceName}]}),
M
),
新地图()
).values());

log({data:output})欢迎使用堆栈溢出!欢迎来到堆栈溢出!访问,采取的,看看什么和。如果您遇到问题,请发布您的尝试,并使用代码段编辑器记录输入和预期输出。@VijayBhatia请检查这是否解决了您的问题,如果您有任何问题,请告诉我。@georg哦,我的错!谢谢你指出。我将更新我的answer.Som。我想要一些不同的output@VijayBhatia我已经更新了我的答案,请看一看,这是你想要的吗?是的,@SomShekharMukherjee。太完美了。这就是我要找的。谢谢。