过滤后保存到原数组
<script>
var arr = [3,1,0,-1,-3,2,-5]
function filter(arr){
for(var i=0;i<arr.length;i++){
if(arr[i]<=0){
arr.splice(i,1);
i--;
}else{
continue;
}
}
}
filter(arr)
console.log(arr) // [3,1,2]
</script>
特别注意:「i--」 当删除一个负数时,数组后面的数就会向前移动一位,下次循环的时候,「i++」 就会漏掉上移的第一位
过滤后保存到新数组
<script>
var arr = [3,1,0,-1,-3,2,-5]
function filter(arr){
var newarr=[];
for (var i=0;i<arr.length;i++) {
if(arr[i]>0){
newarr.push(arr[i]);
}
continue;
}
return newarr;
}
var arr2 = filter(arr)
console.log(arr2) // [3,1,2]
console.log(arr) // [3,1,0,-1,-2,2,-5]
</script>