Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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_Node.js_Object - Fatal编程技术网

Javascript 不修改数组是否正常

Javascript 不修改数组是否正常,javascript,node.js,object,Javascript,Node.js,Object,这正常吗 object.array.push('xxx'); 不将更改应用于数组,但将更改应用于对象 我以为数组是javascript中的对象 我正在使用远程模块中的getGlobal函数,更改不会应用于阵列 完整代码-main.js: global.data = { items: ['aaa', 'bbb'] }; 在renderer.js中 remote.getGlobal('data').items.push('xxx'); console.log(remote.getGlobal

这正常吗

object.array.push('xxx');
不将更改应用于数组,但将更改应用于对象

我以为数组是javascript中的对象

我正在使用远程模块中的getGlobal函数,更改不会应用于阵列

完整代码-main.js:

global.data = {
  items: ['aaa', 'bbb']
};
在renderer.js中

remote.getGlobal('data').items.push('xxx');
console.log(remote.getGlobal('data').items); <- no xxx
remote.getGlobal('data').items.push('xxx');
console.log(remote.getGlobal('data').items) 从:

注意:通过
远程
模块访问时,阵列和缓冲区通过IPC进行复制。在渲染器进程中修改它们不会在主进程中修改它们,反之亦然


你能给我们一些展示错误的示例代码吗?不知道你在问什么,你有没有一个运行的示例来说明你的问题?如果你能提供一个代码示例来说明你在谈论什么以及你实际期望的结果,那将非常有帮助。我真正的代码是
remote.getGlobal('data').items.push('xxx')
如果我在console.log()之后对数据全局变量执行此操作,我会看到它没有更改,这只是提示我们问:
getGlobal('data')
做什么?因此,正如上面其他人所说的,请发布一篇文章来演示这个问题。注意“最小值”,但也要注意“完整值”(例如,它必须运行并实际演示问题)。是的,数组是对象,是的,
push
会修改调用它的数组。因此,
items
不是一个数组,或者它的
push
已被覆盖,或者您以后正在查看另一个数组,而不是您调用的
push
数组。等等,ManJavaScript充满了惊喜:/@theolcat这不是javascript的东西,真的。除非使用共享内存实现,否则进程间通信必须如何工作。共享内存在JS中几乎是不可能的,因为它缺少任何并发原语(目前为止)。这显然是种族歧视,因为数组是对象,对象工作,但数组不是