美文网首页
js数组去重

js数组去重

作者: 路上灵魂的自由者 | 来源:发表于2018-12-13 21:33 被阅读7次

    //数组去重

    //利用splice

    function unique1(list) {

        var i,j,len=list.length

        for(var i=0;i<len;i++){

            for(var j = i+1;j<len;j++){

                if(list[i] == list[j]){

                    list.splice(j,1)

                    len--;

                    j--;

                }

            }

        }

        return list

    }

    console.log(unique1([1,2,2,2,2,4,3,3,4]))

    //双循环去重法

    function unique2(list) {

        var result = [];

        for(var i=0;i<list.length;i++){

            for(var j=i+1;j<list.length;j++){

                 if(list[i]===list[j]){

                    j= ++i

                }

            }

            result.push(list[i])

        }

        return result

    }

    console.log(unique2([1,2,2,2,2,4,3,3,4]))

    // 利用对象键值对去重

    function unique3(list) {

        var result = {};

        var r = []

        for(var i=0;i<list.length;i++){

            if(result.hasOwnProperty(list[i])){

            }else{

                result[list[i]] = [];

                r.push(list[i])

            }

        }

        return r

    }

    console.log(unique3([1,2,2,2,2,4,3,3,4]))

    //sort思想

    function unique4(list) {

        list.sort(function(a,b){

            return a-b

        })

        for(var i=0;i<list.length;i++){

            if(list[i]===list[i+1]){

                list.splice(i,1)

                i--

            }

        }

        return list

    }

    console.log(unique4([1,2,2,2,2,4,3,3,4]))

    //利用indexOf以及forEach

    function unique5(list) {

        var result = [];

        list.forEach(function(item,index){

            if(result.indexOf(item)<0){

                result.push(item)

            }

        })

        return result

    }

    console.log(unique5([1,2,2,2,2,4,3,3,4]))

    // 利用Set数据结构

    function unique6(list){

        return Array.from(new Set(list))

    }

    console.log(unique6([1,2,2,2,2,4,3,3,4]))

    相关文章

      网友评论

          本文标题:js数组去重

          本文链接:https://www.haomeiwen.com/subject/klkihqtx.html