美文网首页
Array集结号

Array集结号

作者: 走在风口的猪 | 来源:发表于2017-08-03 20:58 被阅读0次

实现数组去重的几种方法

数组去重一

Array.prototype.unique2 = function(){
 this.sort(); //先排序
 var res = [this[0]];
 for(var i = 1; i < this.length; i++){
  if(this[i] !== res[res.length - 1]){
   res.push(this[i]);
  }
 }
 return res;
}
var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]
console.log(arr.unique2());

数组去重二

利用数组indexof+push实现数组去重

var ary = [1,2,2,2,2,3,3,5,5,55,6,6];
function delArr(array){
    var newArr=[];//新建一个新数组
    //遍历参数数组array
    for(var i=0;i<array.length;i++){
        //判断新数组是否有这个元素值,没有的话,就把arr[i]给push到新数组newArr中
        if(newArr.indexOf(array[i])===-1){
            newArr.push(array[i]);
        }
    }
    return newArr;
}
console.log(delArr(ary));

数组去重三

利用对象键值对法:新建一js对象以及新数组,遍历传入数组时,判断值是否为js对象的键,不是的话给对象新增该键并放入新数组

var arr = [1,2,2,2,2,3,3,5,5,55,6,6];
function delArr2(array){
                var json={},newArr=[],val,type;
                for(var i=0;i<array.length;i++){
                    val=array[i];
                    //判断val是什么数据类型
                    type=typeof val;
                    // console.log("判断类型"+[type]);
                    //判断值是否为js对象的键,不是的话给对象新增该键并放入新数组
                    if(!json[val]){
                        json[val]=[type];
                        newArr.push(val);
                    }
                    else if(json[val].indexOf(type)<0){
                        json[val].push(type);
                        newArr.push(val);
                    }
                }
                return newArr;
            }
            console.log(delArr2(arr));

【ES6】 数组去重(1)

var arr = [1,2,2,2,2,3,3,5,5,55,6,6];
function unique(ary) {
        return [...new Set(ary)];
    }
console.log(unique(arr));

【ES6】数组去重(2)

var arr = [1,2,2,2,2,3,3,5,5,55,6,6];
var newArr=Array.from(new Set(arr))
console.log(newArr);

相关文章

  • Array集结号

    实现数组去重的几种方法 数组去重一 数组去重二 利用数组indexof+push实现数组去重 数组去重三 利用对象...

  • 集结号

    人生犹白驹过隙 天堂的集结号 恍兮惚兮 风摆杨柳,昼夜吹绵 尘世的人们 几多无奈,几多迷茫 惶惶如丧家之犬 忙忙碌...

  • 集结号

    好久没这么多愁善感了。 一部两个小时的电影,潸然泪下了两回。 一个具体的个人,在时势中,可有为,无可为。当你的无可...

  • 集结号

    我在我的心 你的眼前 筑了一座灰色的塔 最初的梦魇 囚禁在最初的原点 幻想与死地 孤独和喧嚣 终将一决雌雄 而你 ...

  • 集结号

    九连 四十七人 在你们流血的土地面前 眼泪是廉价的。 老谷子 勋章掩盖不了 你的一身伤疤。 战场上的煤黑 是尸骨风...

  • 集结号

    集结号 不知你来自何方 不知他身处何地 也许未曾谋面 或许未曾相识 一声集结号 召唤那游离在外的心 叫醒那天涯海角...

  • 集结号

    军令与生命较量,对于军人,他们选择遵从军令,在危难面前虽然每个人都可能展现出对死亡的恐惧,但是,一个团队,一名军人...

  • 集结号

    早上闹铃响了,妈妈一边麻利地起床给孩子做早饭,一边吹起了冲锋号。 “宝贝,快点起床了,不然上学要迟到了,动作快点儿...

  • 《集结号》

    战争从来都是残酷的,枪林弹雨,血肉横飞。无法想象那是何种惊心动魄的场面,以及那刻骨铭心,撕心裂肺的疼痛。那是和平年...

  • 集结号

    已吹响,集结号, 好兄弟来闹一闹。 气象更新年年好, 大吉大利喜事到。 二O一九总结会, 优秀奖状谁拿到? 中午聚...

网友评论

      本文标题:Array集结号

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