javascript如何创建键为字符串的对象数组
因此,我想模拟来自服务器的响应 我希望钥匙是javascript如何创建键为字符串的对象数组,javascript,typescript,Javascript,Typescript,因此,我想模拟来自服务器的响应 我希望钥匙是1.0.0等。。而不是默认索引。 所以最终结果是这样的: 我尝试了{'versions':['1.0':{'name':'filesystem'}} 但它没有起作用 我还尝试: {'versions':[1.0:{'name':'filesystem'}]}具有相同的结果 我知道我可以用艰难的方式做到 let dummyResponse = {}; (dummyResponse as any).versions = {};
1.0.0
等。。而不是默认索引。
所以最终结果是这样的:
我尝试了{'versions':['1.0':{'name':'filesystem'}}
但它没有起作用
我还尝试:
{'versions':[1.0:{'name':'filesystem'}]}
具有相同的结果
我知道我可以用艰难的方式做到
let dummyResponse = {};
(dummyResponse as any).versions = {};
(dummyResponse as any).versions['1.0'] = { 'name': 'val'};
(dummyResponse as any).versions['1.5'] = { 'name': 'val1'};
(dummyResponse as any).versions['2.0'] = { 'name': 'val2'};
谢谢您的问题是,您试图向数组中添加的内容不是int、字符串甚至不是对象 请尝试以下解决方案。你错过了{}
{ 'versions': [ { '1.0': { 'name': 'file-system' } } ] }
:)数组中不能有密钥,如果要存储版本,请尝试以下操作:
{
versions': [
{
'version': '1.0',
'name': 'file-system 1.0',
},
{
'version': '1.1',
'name': 'file-system 1.1'
},
]
}
基本上,你只是不想在这里使用列表
const l = {'versions': {'1.0' : {'name': 'file-system 1.0'}, '1.0.1': {'name': 'file-system 1.0.1'}}}
l.versions['1.0]{'name': 'file-system 1.0'}
在JS中,不能在数组中使用键。您的示例看起来已经在使用对象,这是正确的方法。当然,您可以使用JS@Trueman你提供的链接,Basicali说,它是一个物体。它的处理方式与php不同。OP只能以这种方式创建一个对象。是什么让你认为这个屏幕截图上的任何东西都是一个数组?这没有得到我想要的东西我仍然有键0和值{1.0':{name':'file system'}}@Zakk为什么不使用映射呢?其中键是数字,值是objects@chevybow请使用map创建带有代码片段的新答案,这样我可以使用itI获得相同的对象结果我希望对象与图像完全相同,因为我正在模拟服务器响应这就是对象。