如何将新元素推送到另一个.js文件中的JavaScript全局变量中创建的数组中?

如何将新元素推送到另一个.js文件中的JavaScript全局变量中创建的数组中?,javascript,Javascript,嗨,我有一个包含两个数组的变量: var x={ arr1:[] , arr2:[]}; 我想将新元素推送到arr1,我尝试了这个方法,但“推”一词不作为选项出现: (x.arr1).push("hi"); 及 编辑 我真的很抱歉,上面的事情实际上是有效的,我认为这与变量x是在另一个js文件中定义的全局变量是一样的,我是js新手。 现在让我进一步解释一下,x是在client.js文件中定义的一个全局变量,在这里我用一些属性设置了它,现在我想向它添加更多属性,但来自另一个名为:server.

嗨,我有一个包含两个数组的变量:

var x={ arr1:[] , arr2:[]};
我想将新元素推送到
arr1
,我尝试了这个方法,但“推”一词不作为选项出现:

(x.arr1).push("hi"); 

编辑

我真的很抱歉,上面的事情实际上是有效的,我认为这与变量
x
是在另一个
js
文件中定义的全局变量是一样的,我是js新手。 现在让我进一步解释一下,x是在
client.js
文件中定义的一个全局变量,在这里我用一些属性设置了它,现在我想向它添加更多属性,但来自另一个名为:
server.js
js
文件,因此,正如我前面提到的,我将这些数组添加到它中,当尝试推送元素时,它不会自动完成“推送”一词

client.js

var gl={id: '123' , 
        myfunc: function(){console.log("client func");}
       };
gl.arr1=[]; 
gl.arr1.push("hi");  //this does not work,it is like gl forgot about arr1 
server.js

var gl={id: '123' , 
        myfunc: function(){console.log("client func");}
       };
gl.arr1=[]; 
gl.arr1.push("hi");  //this does not work,it is like gl forgot about arr1 
再次抱歉..

请尝试以下操作:

x['arr1'].push('Hello')
希望能有帮助。干杯

var x = { arr1: [], arr2: [] };

x.arr1.push("hi");

console.log(x);

这是一种方法,你说的“选项”是什么意思,你应该在

中尝试你的代码片段,为什么不在client.js中首先定义它,如下所示:

var gl={id: '123' , 
        myfunc: function(){console.log("client func");} , 
        arr1 : [] ,
        arr2 : []
       };
在server.js中,请按照上面提到的那样使用它:

 gl.arr1.push("hi");

在你的问题中,你没有展示出整个画面。按照它的编写方式,第一个数组是正确访问的(在这两种情况下,尽管括号是多余的),因此任何正确的自动完成系统都应该工作;很好<代码>{arr1:Array(2),arr2:Array(0)}arr1:(2)[“hi”,“hi”]arr2:[]您所说的“不显示为选项”是什么意思?对象内省仅此而已。与
x.arr1
没有什么不同。因为可能有多个选项卡/浏览器连接到同一服务器,在我的情况下,是聊天应用程序,例如,如果一个用户登录后,其他用户已经登录,并且彼此之间已经有消息,我还希望新用户能够在登录之前从一开始就看到对话