Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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_Ecmascript 6 - Fatal编程技术网

将对象转换为对象数组Javascript

将对象转换为对象数组Javascript,javascript,ecmascript-6,Javascript,Ecmascript 6,下面是我想要转换为数组的对象,但这里似乎缺少了一些东西。请让我知道我做错了什么 代码- var langObj = { "CON1010": { "countryName": "Poland", "countryCode": "pl", "localLanguages": [ { "language": "English", "languageCode": "en" },

下面是我想要转换为数组的对象,但这里似乎缺少了一些东西。请让我知道我做错了什么

代码-

var langObj = {
    "CON1010": {
    "countryName": "Poland",
    "countryCode": "pl",
    "localLanguages": [
        {
            "language": "English",
            "languageCode": "en"
        },
        {
            "language": "Polish",
            "languageCode": "en"
        }
      ]
    },
    "CON1011": {
        "countryName": "UK",
        "countryCode": "uk",
        "localLanguages": [
            {
                "language": "English",
                "languageCode": "en"
            }
        ]
    }
};


var res = Object.entries(langObj).map(([value, label]) => ({value, label}));
console.log(res);
预期产出-

[
    {
        "CON1010": {
            "countryName": "Poland",
            "countryCode": "pl",
            "localLanguages": [
                {
                    "language": "English",
                    "languageCode": "en"
                },
                {
                    "language": "Polish",
                    "languageCode": "en"
                }
            ]
        }
    },
    {
        "CON1011": {
            "countryName": "UK",
            "countryCode": "uk",
            "localLanguages": [
                {
                    "language": "English",
                    "languageCode": "en"
                }
            ]
        }
    }
]

需要方括号才能获取动态计算的字段名:

var res = Object.entries(langObj).map(([value, label]) => ({[value]:label}));
var langObj={
“CON1010”:{
“国家名称”:“波兰”,
“国家代码”:“pl”,
“本地语言”:[
{
“语言”:“英语”,
“语言代码”:“en”
},
{
“语言”:“波兰语”,
“语言代码”:“en”
}
]
},
“CON1011”:{
“国家名称”:“英国”,
“国家代码”:“英国”,
“本地语言”:[
{
“语言”:“英语”,
“语言代码”:“en”
}
]
}
};
var res=Object.entries(langObj.map)([value,label])=>({[value]:label});

控制台日志(res)您需要方括号来获取动态计算的字段名:

var res = Object.entries(langObj).map(([value, label]) => ({[value]:label}));
var langObj={
“CON1010”:{
“国家名称”:“波兰”,
“国家代码”:“pl”,
“本地语言”:[
{
“语言”:“英语”,
“语言代码”:“en”
},
{
“语言”:“波兰语”,
“语言代码”:“en”
}
]
},
“CON1011”:{
“国家名称”:“英国”,
“国家代码”:“英国”,
“本地语言”:[
{
“语言”:“英语”,
“语言代码”:“en”
}
]
}
};
var res=Object.entries(langObj.map)([value,label])=>({[value]:label});

控制台日志(res)只差一点,应该是

var res = Object.entries(langObj).map(([key, value]) => ({ [key]: value }));

就差一点,应该是

var res = Object.entries(langObj).map(([key, value]) => ({ [key]: value }));

您正在设置对象中的值和标签。您希望使用“值”作为键。所以您希望返回
{[value]:label}

var langObj={
“CON1010”:{
“国家名称”:“波兰”,
“国家代码”:“pl”,
“本地语言”:[{
“语言”:“英语”,
“语言代码”:“en”
},
{
“语言”:“波兰语”,
“语言代码”:“en”
}
]
},
“CON1011”:{
“国家名称”:“英国”,
“国家代码”:“英国”,
“本地语言”:[{
“语言”:“英语”,
“语言代码”:“en”
}]
}
};
var res=Object.entries(langObj)
.map([value,label])=>
({[value]:label})
);

控制台日志(res)您正在设置对象中的值和标签。您希望使用“值”作为键。所以您希望返回
{[value]:label}

var langObj={
“CON1010”:{
“国家名称”:“波兰”,
“国家代码”:“pl”,
“本地语言”:[{
“语言”:“英语”,
“语言代码”:“en”
},
{
“语言”:“波兰语”,
“语言代码”:“en”
}
]
},
“CON1011”:{
“国家名称”:“英国”,
“国家代码”:“英国”,
“本地语言”:[{
“语言”:“英语”,
“语言代码”:“en”
}]
}
};
var res=Object.entries(langObj)
.map([value,label])=>
({[value]:label})
);
控制台日志(res)