Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript如何创建键为字符串的对象数组_Javascript_Typescript - Fatal编程技术网

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获得相同的对象结果我希望对象与图像完全相同,因为我正在模拟服务器响应这就是对象。