javascript - 将 Json 数据映射到新的键值对 Node.js
问题描述
我想将一个 json 数据映射到一个新的 javascript 对象
前:
{
"Germany": 1,
"France": 1
}
后
[
{
"name": "Germany",
"anzahl": 1
},
{
"name": "France",
"anzahl": 1
}
]
这是代码:
const dataMap = Object.keys(s).map((filename, x) => {
Object.keys(s[filename]).map((n) => ({
anzahl: n
}))
return ({
name: filename,
anzahl: x
});
})
这给出了以下输出:
[
{
"name": "Germany",
"anzahl": 0
},
{
"name": "France",
"anzahl": 1
}
]
谁能帮帮我?
解决方案
Array.prototype.map
的回调的第二个参数是数组的当前索引,这就是为什么x
是一个从 0 开始并递增的数字。相反,如果您将其编写如下:
const dataMap = Object.keys(s).map((filename) => {
return {
name: filename,
anzahl: s[filename]
}
});
这会将 的每个键s
转换为一个对象,该对象name
是该键,并且anzahl
是访问filename
对象上的键的结果s
。
推荐阅读
- java - OAuth2授权码流程:spring-security不接受下发的access_token
- visual-studio-code - 没有沙箱的运行时参数
- javascript - JavaScript – ResizeObserver() 在页面加载时没有始终如一地执行函数
- r - 如何在 R 中搜索 Knoema 数据集的 ID 代码和输入
- r - 如何从数据框列表中将多个文件另存为 .txt
- python - 元素改变类硒
- python-3.x - 查找熊猫中日期时间列的累计缺失天数
- web-applications - 如何在我的 WebApp 上存储来自用户的音频?
- typescript - 用于选择效果的 Redux-saga 模块增强
- python - 在 Windows 10 中使用带有 python 的 URL 创建快捷方式