Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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 JS Slice仅在项位于构造函数中时删除它们_Javascript_Node.js - Fatal编程技术网

Javascript JS Slice仅在项位于构造函数中时删除它们

Javascript JS Slice仅在项位于构造函数中时删除它们,javascript,node.js,Javascript,Node.js,我尝试删除第一项,以便所有其他项在我创建的数组中向上移动 .. Queue: [], .. 并将项目动态推送到。 我稍后使用slice删除它们,然后让下一项成为第一项 .. thread.Queue.slice(0, 1); .. 它应该返回数组的第一项,它确实返回了,但它也应该从数组中删除它,并将所有其他项向上移动 下面的示例显示,在浏览器中,这两种方法都不起作用。(我在Node.js中发现了这种“行为”) 或者更确切地说 方法.slice()不会改变原始数组。它返回您请求的数组部分的浅

我尝试删除第一项,以便所有其他项在我创建的数组中向上移动

..
Queue: [],
..
并将项目动态推送到。 我稍后使用slice删除它们,然后让下一项成为第一项

..
thread.Queue.slice(0, 1);
..
它应该返回数组的第一项,它确实返回了,但它也应该从数组中删除它,并将所有其他项向上移动

下面的示例显示,在浏览器中,这两种方法都不起作用。(我在Node.js中发现了这种“行为”)

或者更确切地说


方法
.slice()
不会改变原始数组。它返回您请求的数组部分的浅层副本。

array.Slice=是子数组的一种实现,您希望从索引中提取某些元素并返回新数组

例如:

var汽车=[‘日产’、‘本田’、‘丰田’]

var bestCars=车辆拼接(0,1)

控制台日志(bestCars)

//这应该输出尼桑,因为我喜欢尼桑

对于您的问题,您应该查看Array.Splice()Splice从索引中添加/删除元素


对于“切片”方法。那么为什么它会在第一个示例中更改数组?@BeryJu你说的是什么“第一个示例”?它不能做到这一点。@BeryJu在你的JSMiddle中,两个例子做的事情完全相同。我不知道为什么,它只是起作用了。但是在这里你可以看到@BeryJu的行为,当我在Node.js中尝试它时,它也不会发生。如果您看到了这种行为,那么您看到的要么是一个中断的实现,要么是有什么东西覆盖了您环境中的本机“slice”方法。我甚至没有注意到存在Array.slice和Array.splice,应该仔细阅读