JavaScript算法-从数组中删除负数

给定一个具有多个值的数组X(例如[-3,5,1,3,2,10]),我们需要编写一个函数来删除数组中的任何负值。

函数完成执行后,数组应仅由正数组成。我们需要这样做,而不创建临时数组,而仅使用pop方法删除数组中的任何值。

示例

以下是代码-

// strip all negatives off the end
while (x.length && x[x.length - 1] < 0) {
   x.pop();
}
for (var i = x.length - 1; i >= 0; i--) {
   if (x[i] < 0) {
      //用最后一个元素替换该元素(保证为正)
      x[i] = x[x.length - 1];
      x.pop();
   }
}

输出结果

这将在控制台上产生以下输出-

[ 1, 8, 9 ]