javascript - 如何从数组中取出每个元素并使每个元素成为对象中的键?
问题描述
我有一个嵌套的字符串数组,在一个对象内,在一个数组内。我正在尝试拉出嵌套字符串并将每个元素作为一个键放在一个对象中,并且每个键的所有值都将设置为 0 而无需硬编码任何东西
const groups = [{name: group1, values: ['value1']},{name: group2, values: ['value2', 'value'}]
我正在尝试获取'value1'
,'value2'
和'value3'
, 并将它们作为键放入对象中-因此,它应该如下所示:
const obj = {'value1': 0,'value2': 0,'value3': 0,}
我有这个,它给了我一个值数组,但我不确定如何将它们从该数组中取出并将它们作为键放入对象中。
const allGroups = groups.flatMap(({ values }) => values,);
解决方案
使用forEach
循环并且您的对象格式错误
const groups = [{name: 'group1', values: ['value1']},{name:' group2', values: ['value2', 'value3']}]
var obj={};
groups.forEach(e=>{
e.values.forEach(x=>obj[x]=0)
})
console.log(obj)
推荐阅读
- swift - 更改全局变量的图像名称 - swift
- java - 方法不预先确定集合的分配
- pdf - 从 Servlet 返回时无法下载 JSF PDF
- java - Java reactor:不适当的阻塞方法调用
- javascript - Javascript AG-Grid 获取和显示数据
- c++ - C++ 类型的项目
- android - 铸造 ArrayList
进入 java.io.File 错误 - c# - 如何为 Outlook MailItem 设置加密标志?
- c# - IdentityServer OpenIdConnect 添加一个 api 作为范围
- amazon-web-services - 如何为 RDS 数据源编写 AWS AppSync 响应映射模板