美文网首页
js 数组去重和打乱方法

js 数组去重和打乱方法

作者: 何必自找失落_ | 来源:发表于2016-12-06 18:08 被阅读0次
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>javascript常见的数组去重方法</title>
    </head>
    <body>
        <script type="text/javascript">
            window.onload = function (){
                // 面试常用方法 
                Array.prototype.unique1 = function (){
                    arr = [];
                    for( var i = 0 ; i < this.length ; i ++ ) {
                        // 在数组中是否能够找到
                        if (arr.indexOf(this[i])==-1) {
                            arr.push(this[i]);
                        }
                    }
                    return arr;
                }
                // 原理 sort 打乱之后 两两相邻的元素,最有可能相等了
                Array.prototype.unique2 = function (){
                    arr = [];
                    this.sort();
                    arr[0] = this[0];
                    for(var i = 1 ; i < this.length ; i ++){
                        if (arr[arr.length-1] != this[i]) {
                            arr.push(this[i]);
                        }
                    }
                    return arr;
                }
                // 对象的属性重名会覆盖,先赋值后取值
                Array.prototype.unique3 = function (){
                    var obj = {};
                    for( var i = 0 ; i < this.length ; i ++ ){
                        obj[this[i]] = "添加";
                    }
                    var arr = [];
                    for (var key  in obj) {
                        arr.push(key);
                    }
                    return arr;
                }
                //数组打乱方法
                Array.prototype.sortR = function (){
                    return this.sort(function (){
                        return 0.5>Math.random();
                    })
                }
            }
        </script>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:js 数组去重和打乱方法

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