javascript - 将 Object 转换为 Object Javascript 数组
问题描述
以下是我想要转换为数组的对象,但似乎我在这里遗漏了一些东西。请让我知道我在这里做错了什么。
代码 -
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": {
"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);
推荐阅读
- xcode - 'jsireact/JSIExecutor.h' 文件未找到
- html - 表格行未显示
- c# - VSTO Word Addin:set_Style(参考代码),忽略背景颜色
- google-apps-script - 是否可以在 Ui 警报/提示中添加格式?特别是换行符
- c# - Unity EditorWindow - 从窗口切换游戏对象
- swift - 对音频文件执行 FFT
- protractor - 将剪贴板中的 url 粘贴到浏览器地址栏
- wordpress - 如何在 Wordpress 博客视图页面上显示链接
- c# - 当两个程序集具有相同的命名空间时,如何解决“无法隐式转换”错误?
- c# - 通过 c# web api 用 html 解析 xml