给定多个值的数组arr。例如-
[-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) { //将此元素替换为最后一个元素(保证为 positive) x[i] = x[x.length - 1]; x.pop(); } }
输出结果
控制台中的输出将为-
[ 1, 8, 9 ]