• 关于数组的题


    var a ={
        "name":"array",
        "length":10
    };
    var b = ["1","2","3","4"];
    //判断是否为数组
    // console.log( a instanceof Object );
    // console.log( a instanceof Array );
    // console.log( b instanceof Array );
    // console.log( b instanceof Object );
    // console.log(Array.isArray(b));
    // console.log(b.constructor===Array)
    // console.log(Object.prototype.toString.call(b) === "[object Array]");
    // if(b.constructor.pop !== undefined){
    //     console.log("是一个数组");
    // }
    //数组去重
    var c =[3,3,4,5,6,8,9,9,8,4,5,5,1,2];
    Array.prototype.distinct = function(){
        var arr = this,
        result = [],
        i,
        j,
        len=arr.length;
        //for循环是先执行外层循环,再执行内层循环,执行内循环时,是满足内层条件就一直执行,直到条件不满足,才在执行外循环
        for(i=0;i<len;i++){
            //此处下标 i 的值为0,执行里面的循环,就是用下标为0 的元素,与其他所有的元素相比较,
            for(j=i+1;j<len;j++){
                //此处当前一个值与后一个值相等时,他们的下标都加一。解释这里,就是说此处小标i的值在后面有相等的,就过滤掉了下标i的值,继续i加一的循环。
                if(arr[i]===arr[j]){
                    j = ++i;
                }
                console.log(1111)
            }
            result.push(arr[i]);
            console.log(22222)
        }
        return result;
    }
    console.log(c.distinct());
    Array.prototype.cuchong = function(){
        var ar= this,
        len = ar.length;
        ar.sort(function(a,b){
            return a-b;
        })
        //首先传入的值是数组的长度,递归,发现后一个值与前一个值相等时,删除掉后一个值。再递归
        function loop(index){
            if(index>=1){
                if(ar[index] === ar[index-1]){
                    ar.splice(index,1)
                }
                loop(index-1);
            }
        }
        loop(len-1);
        return ar
    };
    var d =c.cuchong();
    console.log(c.cuchong())
  • 相关阅读:
    2018年国内就业薪资高的7大编程语言排行
    前端css实现最基本的时间轴
    前端css实现最基本的时间轴
    用Canvas画一个刮刮乐
    用Canvas画一个刮刮乐
    「干货」从菜鸟到大神,前端学习书籍推荐
    洛谷P3379 【模板】最近公共祖先(LCA)
    洛谷 P1359 租用游艇
    位运算...
    洛谷P2782 友好城市
  • 原文地址:https://www.cnblogs.com/Millet-23/p/9670661.html
Copyright © 2020-2023  润新知