Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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
Arrays .接头(x,1)不工作_Arrays_Node.js_Array Splice - Fatal编程技术网

Arrays .接头(x,1)不工作

Arrays .接头(x,1)不工作,arrays,node.js,array-splice,Arrays,Node.js,Array Splice,我使用Node JS开始了我的第一步,事情进展顺利,直到我遇到了一个奇怪的行为,我既不理解也找不到解决方法。 它应该很简单,所有的东西都有很好的文档记录,我可以找到很多这样的例子,很遗憾,我可能遗漏了一些非常明显的东西。在失去了差不多两天后,我决定寻求一些帮助。。。提前谢谢 我试图在数组中存储对象(clientID、套接字信息),并希望在连接丢失时删除对象 我已经构建了一小部分代码来复制这种行为 var socket = require('socket.io'); var machines =

我使用Node JS开始了我的第一步,事情进展顺利,直到我遇到了一个奇怪的行为,我既不理解也找不到解决方法。 它应该很简单,所有的东西都有很好的文档记录,我可以找到很多这样的例子,很遗憾,我可能遗漏了一些非常明显的东西。在失去了差不多两天后,我决定寻求一些帮助。。。提前谢谢

我试图在数组中存储对象(clientID、套接字信息),并希望在连接丢失时删除对象

我已经构建了一小部分代码来复制这种行为

var socket = require('socket.io');

var machines = [];
var mach1 = [new socket(), new socket()];
var mach2 = [new socket(), new socket()];
var mach3 = [new socket(), new socket()];

machines["357973049420265"] = mach1;
machines["357973049420266"] = mach2;
machines["357973049420267"] = mach3;

console.log("Before : " + Object.keys(machines));
machines.splice(0,1);
console.log("After  : " + Object.keys(machines));
结果是:

Before : 357973049420265, 357973049420266, 357973049420267 
After  : 357973049420265, 357973049420266, 357973049420267
有什么想法吗


Thx

机器
是一个数组,因此您将
“357973049420265”
--一个字符串值--设置为键
.splice
只会更改数字键

我不确定您想要实现什么,但是您可以使用
机器={}
并通过
delete
删除属性,或者使用
.push
添加数组元素以使
.splice
工作


如果你使用了一个对象,你可以做
删除机器[object.keys(machines.slice(0,1)]
来做这个代码似乎想做的事情,但是你的最终目标还不清楚。

非常感谢你。用你的提示解决了问题。机器。拼接(0,1)被删除机器取代[“357973049420266”]。