给定一个具有多个值的数组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 ]