【发布时间】:2020-11-17 02:32:15
【问题描述】:
我们如何在 javascript 中从对象数组创建对象字面量? ,这样我就可以使用值或数字来访问名称,例如我有文字对象
#literal 示例对象
SAMPLE_LITERALS {
'1': 'Sample1',
'2': 'Sample2',
'3': 'Sample3',
'4': 'Sample4'
}
然后我可以访问一个值,例如 SAMPLE_LITERALS[4],结果将是 Sample4。
我想在下面的对象样本数组上实现这样的功能。将提供帮助。谢谢。
我想访问这个名字。
#代码查询
const team = await TeamsModel.findAll({
where: {
deletedAt: { [Op.eq]: null },
},
});
#结果
[
{
"id": 1,
"name": "Admin",
"createdAt": "2019-12-10T07:01:16.000Z",
"updatedAt": "2019-12-10T07:01:16.000Z",
"deletedAt": null,
"createdById": null,
"updatedById": null,
"createdBy": null,
"updatedBy": null
},
{
"id": 2,
"name": "Customer Support",
"createdAt": "2019-12-10T07:01:16.000Z",
"updatedAt": "2019-12-10T07:01:16.000Z",
"deletedAt": null,
"createdById": null,
"updatedById": null,
"createdBy": null,
"updatedBy": null
},
]
【问题讨论】:
-
你自己试过什么?
-
Object.fromEntries(result.map(obj => [obj.name, obj])) -
您的第一个 sn-p 是一个对象,您可以通过键名访问其属性值。您的第二个数据结构是对象数组,您可以使用
Array.prototype.find()或通过项目的索引访问其元素。如果您的目标是第二个结构的类数组对象,您可以使用Object.assign({}, ...arr.map(o => ({[o.id]: o})))
标签: javascript node.js typescript javascript-objects