是否可以将键值对动态添加到 JS 对象中?

时间:2021-03-08 13:28:36

标签: javascript json

假设我有一个 JS 对象 zoneJSObject,它的结构如下:

zoneJSObject = {"ZoneWidgets" : ""}

在创建此对象时,我不知道我将拥有多少个 ZoneWidget。所以我不能为它们预先定义一个集合结构。 ZoneWidgets 将是一个整数 id 数组,例如。 "123456789",进一步我想获取这些小部件中的每一个的坐标。所以 ZoneWidget 123456789 将有 4 个键:值对 top、bottom、left、right 我如何在特定小部件下添加这些?

data = "111222.333"
zoneJSObject[0].ZoneWidgets[0] = "123456789"
zoneJSObject[0].ZoneWidgets[0].top = data // tried adding it like this but got this error

Uncaught (in promise) TypeError: Cannot create property 'top'

1 个答案:

答案 0 :(得分:2)

<块引用>

ZoneWidgets 将是一个整数 id 数组,例如。 “123456789”,进一步我想获取这些小部件中的每一个的坐标。所以 ZoneWidget 123456789 将有 4 个 key:value 对 top,bottom,left,right 如何在特定小部件下添加这些?

如果您希望为您的键值对分配一个整数,您将需要您的 ZoneWidgets 是一个对象数组:

ZoneWidgets = [
  { id: 1234 },
  { id: 5678 },
];

后来:

ZoneWidgets[0].left = myLeft;
ZoneWidgets[0].right = myRight;