javascript - 使用对象属性的对象数组
问题描述
对不起,如果这有点令人困惑,但我有这个数组:
[
{
name: 'id',
type: 'string',
primary: true
},
{
name: 'notes',
type: 'text',
default: '[]'
},
{
name: 'reminders',
type: 'text',
default: '[]'
}
]
我怎么把它变成
{
notes: '[]',
reminders: '[]'
}
? 逻辑如下:任何具有default
属性的索引,将新对象中的键设置为索引的name
,并将值设置为索引的default
。
解决方案
你可以用 reduce
var array = [
{
name: 'id',
type: 'string',
primary: true
},
{
name: 'notes',
type: 'text',
default: '[]'
},
{
name: 'reminders',
type: 'text',
default: '[]'
}
]
var result = array.reduce((prev, el) => {
if (el.default) {
prev[el.name] = el.default
}
return prev;
},{})
console.log(result);
推荐阅读
- c++ - 获取特定频率的持续时间
- impala - impala 4.0 中的配置
- r - 在带有胶水包的 gtsummary 中使用“modify_caption”时在表输出中显示变量名称
- c# - 启动或类中的选项验证
- geometry - 如何构造与一到三个线段相切并经过一到两个点的圆?
- amazon-web-services - 将文件从 EC2 Windows 实例传输到本地 Mac
- excel - 如何在EXCEL VBA中将内容从评论提取到单元格?
- css - css linter期望RBRACE围绕旋转功能
- sql - 根据 SQL 中的元素变化的时间范围内所有匹配元素的总和
- python - Point() 接受 0 个位置子模式(给定 2 个)