javascript如何使用键作为字符串创建对象数组

时间:2019-11-01 21:14:02

标签: javascript typescript

我想模拟来自服务器的响应,因此 我希望键为1.0.0等,而不是默认索引。 所以最终结果是这样的:

img

我尝试了{ 'versions': [ '1.0': { 'name': 'file-system' } ] } 而且没有用 我也尝试过:  { 'versions': [ 1.0: { 'name': 'file-system' } ] },结果相同。

我知道我可以用困难的方式完成

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'};

谢谢

3 个答案:

答案 0 :(得分:0)

您的问题是您试图将不是整数,字符串甚至对象的东西添加到数组中。

请尝试以下解决方案。您错过了{}。

{ 'versions': [ { '1.0': { 'name': 'file-system'  } } ] }

:)

答案 1 :(得分:0)

数组中不能有键,如果要存储版本,请尝试以下操作:

{
 versions': [
  {
    'version': '1.0',
    'name': 'file-system 1.0',
  },
  {
    'version': '1.1',
    'name': 'file-system 1.1'
  },
 ]
}

答案 2 :(得分:0)

基本上,您只是不想在这里使用列表。

 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'}