为什么这个javascript函数返回两个不同的值?

为什么这个javascript函数返回两个不同的值?,javascript,arrays,Javascript,Arrays,目前正在使用具有以下要求的功能: 给定一个数组nums和一个值val,在适当位置删除该值的所有实例并返回该数组。 不要为另一个数组分配额外的空间,必须通过使用O(1)个额外内存修改输入数组来完成此操作。元素的顺序可以更改 我遇到了一个奇怪的问题,函数同时返回两个不同的值,我对为什么会发生这种情况感到困惑。代码如下: var removelement=函数(nums,val){ 设左=0; 设右=nums.length-1; while(left

目前正在使用具有以下要求的功能:

给定一个数组nums和一个值val,在适当位置删除该值的所有实例并返回该数组。 不要为另一个数组分配额外的空间,必须通过使用O(1)个额外内存修改输入数组来完成此操作。元素的顺序可以更改

我遇到了一个奇怪的问题,函数同时返回两个不同的值,我对为什么会发生这种情况感到困惑。代码如下:

var removelement=函数(nums,val){
设左=0;
设右=nums.length-1;
while(left日志(removeElement([0,1,2,2,3,0,4,2],2))你可以在这里检查,我在不同的游乐场检查过-它只返回[0,1,4,0,3]

请提供有关如何运行它的更多详细信息。


这里是jsbin的结果

它清楚地返回
[0,1,4,0,3]
-一定有其他代码生成
[0,1,6,5]
运行函数只返回一个数组。您可以运行上面的代码段。我在jsbin中运行它,我将在其他地方尝试