过滤数值中的0和负数

过滤后保存到原数组

     <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>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容