如何从javascript中的对象数组创建对象文字?
如何从javascript中的对象数组创建对象文字,所以我可以使用一个值或一个数字来访问这个名称,比如我有一个literal对象,它是 #文字样本对象如何从javascript中的对象数组创建对象文字?,javascript,node.js,typescript,javascript-objects,Javascript,Node.js,Typescript,Javascript Objects,如何从javascript中的对象数组创建对象文字,所以我可以使用一个值或一个数字来访问这个名称,比如我有一个literal对象,它是 #文字样本对象 SAMPLE_LITERALS { '1': 'Sample1', '2': 'Sample2', '3': 'Sample3', '4': 'Sample4' } 然后我可以访问一个值,例如SAMPLE\u LITERALS[4],结果将是Sample4 我想在下面的对象示例数组中实现这样的功能。我们将感谢您的帮助。多谢各位
SAMPLE_LITERALS {
'1': 'Sample1',
'2': 'Sample2',
'3': 'Sample3',
'4': 'Sample4'
}
然后我可以访问一个值,例如SAMPLE\u LITERALS[4]
,结果将是Sample4
我想在下面的对象示例数组中实现这样的功能。我们将感谢您的帮助。多谢各位
我想访问这个名字
#代码查询
const team = await TeamsModel.findAll({
where: {
deletedAt: { [Op.eq]: null },
},
});
#结果
假设您想在
id
上建立索引,这是一种非常简单的方法:
const teamsaobject={};
teams.forEach(团队=>{
teamsAsObject[team.id]=团队;
});
您自己尝试过什么?Object.fromEntries(result.map(obj=>[obj.name,obj]))
您的第一个代码段是一个对象,您可以通过keyname访问其属性值。第二个数据结构是对象数组,您可以使用array.prototype.find()
或通过项的索引访问其元素。如果第二个结构的目标是类似数组的对象,则可以使用object.assign({},…arr.map(o=>({[o.id]:o}))
TeamsModel.findAll({where:{deletedAt:{[Op.eq]:null}})
显然不像我们试图通过id
索引。我的目标是使用id@Michael例如,Pratt,然后我可以访问循环外部的值,如TEAM_NAME[1],该值将是AdminIscode Query
,然后与您的问题无关?如果您只想从表示为result
的数据中收集name
属性,这非常简单:teams.map(t=>t.name)
。我以为你在寻找更多。如果你出于某种原因只想要一个团队名称列表,那么@ScottSauyet的代码将适用于你。但是,如果希望访问团队对象上的所有属性,则需要为每个属性创建一个列表,在我看来,这并不理想。我建议使用我的解决方案创建一个映射并以这种方式访问属性:teamsAsObject[1]。name
[
{
"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
},
]