Javascript - 无法推送到内部对象

时间:2017-02-01 14:47:13

标签: javascript arrays object electron

我有一个像这样的对象:

var chosen=[{nrChart:1, chosenGraphics:[]}];

使用electron-window-manager创建一个sharedData,如下所示:

windowManager.sharedData.set("chosen",chosen);

之后我在另一个js文件中获取sharedData,如下所示:

that.exp = windowManager.sharedData.fetch("chosen");

到目前为止,这么好。现在的问题是我可以that.exp.push(1)而不是that.exp[0].chosenGraphics.push(1),它返回新的长度,但数组保持不变。

发生了什么事?

对象的结构.exp用于澄清:

Structure of the object that.exp for clarification

**编辑:selectedGraphics:数组1展开** enter image description here

2 个答案:

答案 0 :(得分:0)

您的对象chosenGraphics似乎已多次定义that.exp[0]。有一个名为chosenGraphics的数组,有两个函数叫chosenGraphics。当您致电that.exp[0].chosenGraphics.push(1)时,可能会尝试在其中一个功能上执行push,这些功能没有push属性或方法。

答案 1 :(得分:0)

我没有找到为什么我不能推送到选择图形,但我找到了一个解决方案,用JSON.parse(JSON.stringify(windowManager.sharedData.fetch("chosen")));

来克隆对象