JS中数组乱序、去重

这是小编对之前数组环节内容的补充,介绍乱序以及去重,直接撸上代码。

一、数组乱序

主要是数组sort( )方法的一个引申,我们知道sort是根据参数正负值来做排序判定,那么实现当然是使其随机正负值

var a = [1,2,3,4,5];
        Array.prototype.muddled=function(){
            this.sort(function(){
                  return (0.5-Math.random());
            });
        }
        a.muddled();

我们以这样的形式写函数可以直接调用该方法。各个类对象的方法都是存储在相应的prototype中

二、数组去重

这边主要是两种

1.数组去重

 Array.prototype.unique=function(){
            var obj = {};
            var len =this.length;
            var arr=[];
            for(var i=0; i<len ;i++){
                if(! obj[this[i]]){
                    obj[this[i]]="abc"; // 这边如果用自身的话可能0就无法判断0本身代表非
                    arr.push(this[i]);
                }
            }
            this.length= arr.length;
            for(var j=0 ; j<arr.length;j++){
                this[j]=arr[j];
            }
            return this;
        }

这样我们可以实现去掉数组中相同元素。

2.字符串去重

       function unique(b){
            var obj ={};
            var arr=b.split("");
            var arr1=[];
            for(var i =0 ; i<arr.length;i++){
                if(!obj[arr[i]]){
                    obj[arr[i]]=1;
                    arr1.push(arr[i]);
                }
            }
            return arr1;
        }

主要是将字符串切成数组然后操作一样,这边简洁了一下只写了函数没有去实现对本身操作,有需求则跟上面一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值